PayMate Payments API
Vendor payment initiation, status and reporting
Operations 5
Documentation
Documentation
https://api.paymate.my/GlobalPartnerAPI
APIReference
https://api.paymate.my/GlobalPartnerAPI
Vendor payment initiation, status and reporting
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/paymate-payments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: PayMate Global Partner Payments API
version: v1
description: 'Partner-facing B2B payments API for the PayMate global platform — business (KYB) onboarding, contact onboarding, commercial-card management, vendor payments, payment collection requests and reporting.
GENERATED, NOT PUBLISHED BY PAYMATE. PayMate does not publish an OpenAPI description. This document was generated by API Evangelist from PayMate''s OWN machine-readable endpoint dataset (MalaysiaData.json / singaporeData.json / AustraliaData.json / UaeData.json / OmanData.json / SouthAfricaData.json), which is bundled into the Partner API documentation app served at https://api.paymate.my/GlobalPartnerAPI. The verbatim datasets are kept alongside this file in openapi/_source/. Every path, method, parameter, data type, required flag, description and example here comes from that dataset; nothing was invented.
Regional deployments run the same v1 surface on six hosts. In Australia and South Africa the platform is branded DuNoMo. Each operation carries x-regions listing the regional datasets that declare it — POST /v1/VendorPayment is declared only in the Australian dataset.'
contact:
name: PayMate partner support
url: https://api.paymate.my/GlobalPartnerAPI
email: support@paymate.my
x-generated-by: API Evangelist enrichment pipeline
x-generated-on: '2026-08-26'
x-source: https://api.paymate.my/GlobalPartnerAPI/static/js/main.d40c1507.js
servers:
- url: https://api.paymate.sg
description: Singapore
- url: https://api.paymate.my
description: Malaysia
- url: https://api.paymate.ae
description: United Arab Emirates
- url: https://api.paymate.om
description: Oman
- url: https://api.dunomo.au
description: Australia (DuNoMo brand)
- url: https://api.dunomo.co.za
description: South Africa (DuNoMo brand)
security:
- PartnerApiKey: []
tags:
- name: Payments
description: Vendor payment initiation, status and reporting
paths:
/v1/MakePayment:
post:
operationId: MakePayments
summary: Make Payments
description: This method is used to make payment request to vendors which you have registered on “PayMate”. The method returns the Transaction Reference Number, Net Amount and Count on successful payment request creation.
tags:
- Payments
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties: {}
example:
StatusCode: '000'
Description: Your request has been processed successfully.
DetailedSummary:
TransactionDetails:
- OrderID: CR000013459
PayMateRequestNo: '105818124721'
TransactionStatus: '000'
StatusMessage: Transaction booked successfully
PayableAmount: 9950
- OrderID: CR000013457
PayMateRequestNo: null
TransactionStatus: '301'
StatusMessage: Orderid already exists
PayableAmount: null
PaymentURL: https://dev.paymate.in/beta/PMX3.0/SenderAuthentication.aspx?guid=22D7C50397DEBB26833470301574BEB3&prakriya=07CAA0832C2DF798703C660211FBCC2A&bhugtanprakriya=E9F8A265F298DBA5CAED23BADF2FFF57
AcceptCount: '1'
RejectCount: '1'
NetAmount: '9950.00'
Status: '428'
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: A unique Request no from the partner to track the request
BusinessCode:
type: string
maxLength: 30
BusinessXpressID:
type: string
maxLength: 15
PaymentMode:
type: string
maxLength: 15
description: Payment mode to be used for making payments. Options will be XpressAccount, CreditCard, DebitCard or NetBanking
x-possible-values: '[''CreditCard'',''DebitCard'',''Netbanking'',''XpressAccount'']'
DebitAccount:
type: string
maxLength: 30
description: 'Credit/Debit Card: 16 digit card number XpressAccount: Send issued XpresssAccount Number If CardReferenceNo is passed then this is optional else required'
ExpiryMonth:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: If CardReferenceNo is passed then this is optional else required
ExpiryYear:
type: string
pattern: ^[0-9]+$
maxLength: 4
description: If CardReferenceNo is passed then this is optional else required
CVV:
type: string
pattern: ^[0-9]+$
maxLength: 3
description: If CardReferenceNo is passed then this is optional else required
Network:
type: string
maxLength: 15
description: If CardReferenceNo is passed then this is optional else required
x-possible-values: '[''VISA'', ''MASTERCARD'', ''AMEX'']'
CardHolderName:
type: string
maxLength: 50
description: Name on Card If CardReferenceNo is passed then this is optional else required
IssuingBank:
type: string
maxLength: 100
description: Name of the card issuer If CardReferenceNo is passed then this is optional else required
CardReferenceNo:
type: string
maxLength: 20
description: Card reference number of the saved card If DebitAccount and other info is passed then this is optional else required
TransactionDetails:
type: object
description: All the transaction related information need to share in TransactionDetails section. Refer TransactionDetails Object
Invoice:
type: object
description: Invoice related information and payable amount need to pass in invoice section. Refer Invoice object
DebitNote:
type: object
description: Advance payment information need to send in DebitNote section. Refer DebitNote object
required:
- RequestID
- PaymentMode
- TransactionDetails
- Invoice
- DebitNote
example:
RequestID: '123456789'
BusinessCode: ARFC1223
BusinessXpressID: ''
PaymentMode: CreditCard
DebitAccount: 5204740XXXXXXXX5745
CardHolderName: John Doe
ExpiryMonth: XX
ExpiryYear: XXXX
CVV: XXX
Network: VISA
IssuingBank: affin Bank
CardReferenceNo: ''
PaymentDetails:
- TransactionDetails:
OrderID: CR000013454
CompanyName: Art & Craft
ReferenceCode: AC00001
ContactXpressID: ''
AccountNo: '565343423'
BICCode: ''
RoutingNumber: '100002267'
PaymentType: GDE
NotificationEmailAddress: alfala@yopmail.com,vendor@yopmail.com
PaymentRemarks: Payment against the two invoice
INVOICE:
- InvoiceNumber: INVOICE122
InvoiceStartDate: ''
InvoiceEndDate: ''
Amount: '500'
TDSAmount: '0'
InvoiceReferenceNo: ''
- InvoiceNumber: INVOICE12232
InvoiceStartDate: ''
InvoiceEndDate: ''
Amount: '10000'
TDSAmount: '0'
InvoiceReferenceNo: ''
DebitNote:
- DebitTransactionNo: DEBITREF122
DebitDate: 20-01-2021
DebitAmount: '50'
DebitReferenceNo: ''
DebitRemarks: advance payment of 50
- DebitTransactionNo: DEBITREF12200
DebitDate: 20-01-2021
DebitAmount: '500'
DebitReferenceNo: ''
DebitRemarks: Advance payment of 500
- TransactionDetails:
OrderID: CR000013457
CompanyName: Art & Craft
ReferenceCode: AC00001
ContactXpressID: ''
AccountNo: '565343423'
BICCode: ''
RoutingNumber: '100002267'
NotificationEmailAddress: alfala@yopmail.com,vendor@yopmail.com
PaymentType: GDE
PaymentRemarks: Payment against the two invoice
INVOICE:
- InvoiceNumber: INVOICE12232
InvoiceStartDate: 20-01-2021
InvoiceEndDate: 30-01-2021
Amount: '25000'
TDSAmount: '0'
InvoiceReferenceNo: ''
DebitNote:
- DebitTransactionNo: DEBITREF12200
DebitDate: 20-01-2021
DebitAmount: '5000'
DebitReferenceNo: ''
DebitRemarks: advance payment of Rs 5000
/v1/getpaymentstatus:
post:
operationId: GetPaymentStatus
summary: Get Payment Status
description: This method can be used to get the payment request statuses that are still awaiting settlement, paid, or refunded.
tags:
- Payments
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties: {}
example:
RequestId: '123456'
StatusCode: '000'
Description: Success
DetailedSummary:
PaymentReport:
- TransactionDetails:
OrderId: CR000013441
CompanyName: Art & Craft
ReferenceCode: AC00001
SettlementAccountNo: '14567890000'
RoutingNumber: '100002267'
BICCode: ''
PayMateRequestNo: '105015124101'
TransactionDateTime: 19-02-2021 3:32:25 PM
Remarks: Payment against the invoice
RemittorAccountDetails:
'NetAmount ': 4950
'PaymentFrom ': Credit Card
'PaymentThrough ': 411111XXXXXX1111
'IssuingBank ': CITI Bank
'MDR ': 2.5
'ServiceCharges ': 127.51
'ServiceTax ': 22.95
'ChargedAmount ': 5100.46
'GatewayTransactionID ': '20210219153241'
'DebitStatus ': '000'
'DebitRemarks ': ''
'DebitDateTime ': 19-02-2021 3:32:44 PM
SettlementDetails:
SettlementStatus: '000'
SettlementDateTime: 20-02-2021 04:08:41 PM
SettlementRemarks: Success
BankReferenceNo: '11578021588797'
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
x-declared-type: AN(20-30)
description: A unique RequestID for identifying the request.
PayMateRequestNo:
type: string
maxLength: 20
description: If OrderID is passed, then this is optional; otherwise, it is required.
BusinessCode:
type: string
maxLength: 30
description: Business unique reference number on partner system. Parameter is mandatory if business is not sending issued BusinessXpressID.
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship number issued by PayMate. Parameter is mandatory if business is not sending registered BusinessCode.
OrderID:
type: string
maxLength: 30
description: If PayMateRequestNo is passed, then this is optional; otherwise, it is required.
required:
- RequestID
example:
RequestId: '123456'
OrderID: ''
BusinessCode: S001234
BusinessXpressID: ''
PayMateRequestNo: '105015124101'
/v1/PaymentHistory:
post:
operationId: PaymentReport
summary: Payment Report
description: Get all the Payment request which are still awaiting settlement, paid or refund. This method can also be used to fetch all the Payment request, within a specific date range.
tags:
- Payments
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties: {}
example:
RequestId: '123456'
StatusCode: '000'
Description: Success
DetailedSummary:
PaymentReport:
- TransactionDetails:
OrderId: CR000013441
CompanyName: Art & Craft
ReferenceCode: AC00001
SettlementAccountNo: '14567890000'
RoutingNumber: '100002267'
BICCode: ''
PayMateRequestNo: '105015124101'
TransactionDateTime: 19-02-2021 3:32:25 PM
Remarks: Payment against the invoice
RemittorAccountDetails:
'NetAmount ': 4950
'PaymentFrom ': Credit Card
'PaymentThrough ': 411111XXXXXX1111
'IssuingBank ': CITI Bank
'MDR ': 2.5
'ServiceCharges ': 127.51
'ServiceTax ': 22.95
'ChargedAmount ': 5100.46
'GatewayTransactionID ': '20210219153241'
'DebitStatus ': '000'
'DebitRemarks ': ''
'DebitDateTime ': 19-02-2021 3:32:44 PM
SettlementDetails:
SettlementStatus: '000'
SettlementDateTime: 20-02-2021 04:08:41 PM
SettlementRemarks: Success
BankReferenceNo: '11578021588797'
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
x-declared-type: AN(20-30)
description: A unique RequestID for identifying the request.
OrderID:
type: string
maxLength: 30
description: Client OrderID
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending issued BusinessXpressID
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no issued by PayMate. Parameter is mandatory if business is not sending registered BusinessCode
ContactXpressID:
type: string
maxLength: 15
description: Contact Xpress ID issued by PayMate
ReferenceCode:
type: string
maxLength: 30
description: Contact unique reference no. on partner system
FromDate:
type: string
description: company created from date (including from date)
x-possible-values: DD-MM-YYYY
ToDate:
type: string
description: company created to date (including to date)
x-possible-values: DD-MM-YYYY
PaginationIndex:
type: string
pattern: ^[0-9]+$
maxLength: 3
description: Index for Pagination
RecordsPerPage:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: A limit on the number of record to be return
x-possible-values: Max 100
required:
- RequestID
- BusinessCode
- BusinessXpressID
- PaginationIndex
- RecordsPerPage
example:
RequestId: '123456'
OrderID: ''
BusinessCode: S001234
BusinessXpressID: ''
ContactXpressID: ''
ReferenceCode: ''
FromDate: 01-02-2021
ToDate: 10-02-2021
PaginationIndex: '1'
RecordsPerPage: '10'
/v1/Paymenttype:
post:
operationId: PaymentType
summary: Payment Type
description: Business can get the Payment type list by using this method
tags:
- Payments
x-regions:
- ae
- au
- my
- om
- sg
- za
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties:
StatusCode:
type: string
maxLength: 3
description: Status of the Request
Description:
type: string
maxLength: 300
description: Status Description
DetailedSummary:
type: object
description: Card details summary will come under DetailedSummary Object
properties:
PaymentCode:
type: string
maxLength: 4
description: Unique payment code
PaymentDetail:
type: string
maxLength: 50
description: Payment type details
example:
StatusCode: '000'
Description: Your request has been processed successfully
DetailedSummary:
- PaymentCode: ' GB'
PaymentDetail: ' Goods Bought '
- PaymentCode: ' UTL'
PaymentDetail: Utility
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: A unique RequestID for identifying the request.
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending issued BusinessXpressID
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no issued by PayMate. Parameter is mandatory if business is not sending registered BusinessCode
PaymentTypeFor:
type: string
maxLength: 20
description: Payment Type
x-possible-values: MakePayment, CollectPayment
required:
- RequestID
- PaymentTypeFor
example:
PaymentType:
RequestID: '54652165245215'
BusinessCode: '12345'
BusinessXpressID: ''
PaymentTypeFor: MakePayment
/v1/VendorPayment:
post:
operationId: VendorPayments
summary: Vendor Payments
description: This method is used to make payment request to vendors which you have registered on “DuNoMo”. The method returns the Transaction Reference Number, Net Amount and Count on successful payment request creation.
tags:
- Payments
x-regions:
- au
responses:
'200':
description: PayMate response envelope. Business outcome is carried in StatusCode; see errors/paymate-error-codes.yml.
content:
application/json:
schema:
type: object
properties: {}
example:
StatusCode: '000'
Description: Your request has been processed successfully.
DetailedSummary:
TransactionDetails:
- OrderID: CR000013459
PayMateRequestNo: '105818124721'
TransactionStatus: '000'
StatusMessage: Transaction booked successfully
PayableAmount: 9950
- OrderID: CR000013457
PayMateRequestNo: null
TransactionStatus: '301'
StatusMessage: Orderid already exists
PayableAmount: null
PaymentURL: https://dev.paymate.in/beta/PMX3.0/SenderAuthentication.aspx?guid=22D7C50397DEBB26833470301574BEB3&prakriya=07CAA0832C2DF798703C660211FBCC2A&bhugtanprakriya=E9F8A265F298DBA5CAED23BADF2FFF57
AcceptCount: '1'
RejectCount: '1'
NetAmount: '9950.00'
Status: '428'
'401':
description: Empty/invalid header credentials (StatusCode 106), observed on an unauthenticated probe.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
RequestID:
type: string
maxLength: 30
description: A unique Request no from the partner to track the request
BusinessCode:
type: string
maxLength: 30
description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending issued BusinessXpressID
BusinessXpressID:
type: string
maxLength: 15
description: Business Unique Relationship no issued by PayMate. Parameter is mandatory if business is not sending
PaymentMode:
type: string
maxLength: 15
description: Payment mode to be used for making payments. Options will be XpressAccount, CreditCard, DebitCard or NetBanking
x-possible-values: '[''CreditCard'',''DebitCard'',''Netbanking'',''XpressAccount'']'
TransactionDetails:
type: object
description: All the transaction related information need to share in TransactionDetails section. Refer TransactionDetails Object
properties:
OrderID:
type: string
maxLength: 30
description: Business generated OrderID
CompanyName:
type: string
maxLength: 100
description: Contact's Company name if provided will be validated against the company name stored at DuNoMo
ReferenceCode:
type: string
maxLength: 30
description: If ContactXpressID passed, then this is optional, else Required.
ContactXpressID:
type: string
maxLength: 15
description: If ReferenceCode passed, then this is optional, else Required.
NotificationEmailAddress:
type: string
maxLength: 1200
description: NotificationEmailAddress will use to send payment notification to the supplier
x-possible-values: Business can use up to 5 email address separated by(,)
PaymentType:
type: string
maxLength: 15
description: Purpose of payment. Please refer Get PaymentTypes api to get the payment type list
x-possible-values: '[''POS-Merchant Settlements'',''RNT-Rent Payments'',''UTL-Utility'',''GDE-Goods Sold'',''STR-Travel'',''FIS-Financial Services'',''GOS-Government Goods and Services Embassies'',''GRI-Government Related Income Taxes Tariffs Capital Transfers'',''GDI-Goods Bought'']'
AccountNo:
type: string
maxLength: 30
description: Account no of the beneficiary. if provided will be validated against the AccountNo stored at DuNoMo
RoutingNumber:
type: string
pattern: ^[0-9]+$
maxLength: 9
description: The routing transit number for the bank account. If mandatory by bank then send with account details. if provided will be validated against the Routing Number stored at DuNoMo
BSBCode:
type: string
maxLength: 11
description: BSB Code
PaymentRemarks:
type: string
maxLength: 500
description: Remarks for the transaction
required:
- OrderID
- PaymentType
Invoice:
type: object
description: Invoice related information and payable amount need to pass in invoice section. Refer Invoice object
properties:
InvoiceNumber:
type: string
maxLength: 30
description: Invoice Number
InvoiceStartDate:
type: string
description: Invoice start date
x-possible-values: DD-MM-YYYY
InvoiceEndDate:
type: string
description: Invoice period end date
x-possible-values: DD-MM-YYYY
Amount:
type: number
x-precision: 18,2
description: Invoice amount
TDSAmount:
type: number
x-precision: 18,2
description: TDS amount on invoice
InvoiceReferenceNo:
type: string
maxLength: 30
description: Business can send their reference no if they are maintaining at their end
required:
- Amount
DebitNote:
type: object
description: Advance payment information need to send in DebitNote section. Refer DebitNote object
properties:
DebitTransactionNo:
type: string
maxLength: 30
description: Advance payment UTR no
DebitDate:
type: string
description: Paid Date
x-possible-values: DD-MM-YYYY
DebitAmount:
type: number
x-precision: 18,2
description: Paid Amount
DebitReferenceNo:
type: string
maxLength: 30
description: Business can send their reference no if they are maintaining at their end
DebitRemarks:
type: string
maxLength: 500
description: Remarks against the advance payment
required:
- RequestID
- PaymentMode
- TransactionDetails
- Invoice
- DebitNote
example:
RequestID: '123456789'
BusinessCode: ARFC1223
BusinessXpressID: ''
PaymentMode: CreditCard
PaymentDetails:
- TransactionDetails:
OrderID: CR000013454
CompanyName: Art & Craft
ReferenceCode: AC00001
ContactXpressID: ''
AccountNo: '453423123'
BICCode: ''
RoutingNumber: '100002267'
PaymentType: GDE
NotificationEmailAddress: alfala@yopmail.com,vendor@yopmail.com
PaymentRemarks: Payment against the two invoice
INVOICE:
- InvoiceNumber: INVOICE122
InvoiceStartDate: ''
InvoiceEndDate: ''
Amount: '500'
TDSAmount: '0'
InvoiceReferenceNo: ''
- InvoiceNumber: INVOICE12232
InvoiceStartDate: ''
InvoiceEndDate: ''
Amount: '10000'
TDSAmount: '0'
InvoiceReferenceNo: ''
DebitNote:
- DebitTransactionNo: DEBITREF122
DebitDate: 20-01-2021
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paymate/refs/heads/main/openapi/paymate-payments-api-openapi.yml