PayMate Collections API
Payment collection requests, status and reporting
Operations 3
Documentation
Documentation
https://api.paymate.my/GlobalPartnerAPI
APIReference
https://api.paymate.my/GlobalPartnerAPI
Payment collection requests, 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-collections-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 Collections 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: Collections
description: Payment collection requests, status and reporting
paths:
/v1/collectpayments:
post:
operationId: CollectPayment
summary: Collect Payment
description: Business can received the payment from their registered customer by using this method
tags:
- Collections
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:
RequestID:
type: string
maxLength: 30
description: Sent during request
StatusCode:
type: string
maxLength: 3
description: Status of the Request
Description:
type: string
maxLength: 300
description: Status Description
DetailedSummary:
type: object
description: Collection response summary will come under DetailedSummary Object
properties:
OrderID:
type: string
maxLength: 30
description: Sent during request
PaymentRequestNo:
type: string
maxLength: 500
description: PayMate Transaction ID against the OrderID
NetAmount:
type: number
x-precision: 18,2
description: Amount to be collected
PaymentStatus:
type: string
maxLength: 3
description: Current status of the payment
PaymentURL:
type: string
maxLength: 300
description: Payment link against each request
example:
RequestID: '5465216522151'
StatusCode: '000'
Description: Collection request sent successfully
DetailedSummary:
- OrderID: '565625'
PayMateRequestNo: '4151197425534'
NetAmount: '500.00'
PaymentStatus: '508'
StatusMessage: Pending
PaymentURL: '
https://uatmys.paymateb2b.com/ReactWeb/Vendor/SenderAuthentication/C0E9E44749D700DB73131B3132E907DB/0E94B5207BE14A0F890BA947901042FE/4DE71EA7E29F97DA3F82342CD5CA634B'
'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: 50
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
CollectionDetails:
type: object
description: This will contain details about Buyer. Refer CollectionDetails Object
properties:
ReferenceCode:
type: string
maxLength: 30
description: Vendor registered unique identification code
OrderID:
type: string
maxLength: 30
description: Business generated Order ID
CompanyEmailAddress:
type: string
maxLength: 240
description: Contact Registered Email address
ISDCode:
type: string
maxLength: 4
description: Country ISD code
MobileNumber:
type: string
maxLength: 10
description: Customer mobile no. if business want to send link on whatsapp no then please provide mobile number
CollectionType:
type: string
maxLength: 15
description: PaymentCode. Please refer Get PaymentTypes api to get the list of payment
SplitMDR:
type: object
description: Business can split MDR between both the parties. Refer SplitMDR Object
properties:
BuyerCharges:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: Business Side MDR
x-possible-values: "Min – 0(%) \n Max – 100(%)"
SupplierCharges:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: Supplier Side MDR
x-possible-values: "Min – 0(%) \n Max – 100(%)"
required:
- BuyerCharges
- SupplierCharges
Remarks:
type: string
maxLength: 500
description: Custom Remarks
required:
- OrderID
- CompanyEmailAddress
- CollectionType
- SplitMDR
Invoice:
type: object
description: This will contain Invoice and collection amount. Refer Invoice Object
properties:
InvoiceNumber:
type: string
maxLength: 30
description: Invoice No.
InvoiceStartDate:
type: string
description: Invoice Start Date
x-possible-values: DD-MM-YYYY
InvoiceEndDate:
type: string
description: Invoice End Date
x-possible-values: DD-MM-YYYY
InvoiceAmount:
type: number
x-precision: 18,2
description: Invoice amount
x-possible-values: Payable amount
Tax:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: Tax value
x-possible-values: '[0, 5]'
required:
- InvoiceAmount
SplitMDR:
type: object
description: Business can split MDR between both the parties. Refer SplitMDR Object
properties:
BuyerCharges:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: Business Side MDR
x-possible-values: "Min – 0(%) \n Max – 100(%)"
SupplierCharges:
type: string
pattern: ^[0-9]+$
maxLength: 2
description: Supplier Side MDR
x-possible-values: "Min – 0(%) \n Max – 100(%)"
required:
- BuyerCharges
- SupplierCharges
required:
- RequestID
- CollectionDetails
- Invoice
- SplitMDR
example:
RequestID: '5465216522151'
BusinessCode: uatmys
BusinessXpressID: ''
CollectionDetails:
- TransactionDetails:
OrderID: '565625'
ReferenceCode: uatmys55
CompanyEmailAddress: uatmys@yopmail.com
ISDCode: '+60'
MobileNumber: '197290811'
CollectionType: UTL
Remarks: test collect payment
Invoice:
InvoiceNumber: INVOICE122
InvoiceStartDate: 01-10-2021
InvoiceEndDate: 30-10-2021
InvoiceAmount: '500'
Tax: '0'
SplitMDR:
BuyerCharges: '30'
SupplierCharges: '70'
/v1/GetCollectStatus:
post:
operationId: CollectionStatus
summary: Collection Status
description: This method can use to get the collection request that are still awaiting settlement, paid or refund.
tags:
- Collections
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:
TransactionDetails:
type: object
description: It will contain Transaction Details information. Refer TransactionDetails Object
properties:
OrderID:
type: string
maxLength: 30
description: Client OrderID
CompanyName:
type: string
maxLength: 100
description: Contact's Company Name
ReferenceCode:
type: string
maxLength: 30
description: Contact unique Reference Code
PayMateRequestNo:
type: string
maxLength: 20
description: PayMate Transaction ID against the OrderID
TransactionDateTime:
type: string
description: DateTime
Remarks:
type: string
maxLength: 500
description: Remarks against payment for buyer
CollectionSummary:
type: object
description: It will contain Collection account details. Refer CollectionSummary Object
properties:
PaymentFrom:
type: string
maxLength: 15
description: Paid by Credit Card
PaymentThrough:
type: string
maxLength: 30
description: IBAN No
BuyerMDR:
type: number
x-precision: 18,2
description: Buyer side MDR
ServiceCharges:
type: number
x-precision: 18,2
description: Service charges
ServiceTax:
type: number
x-precision: 18,2
description: Service tax on Service charge
ChargedAmount:
type: number
x-precision: 18,2
description: Charged Amount
GatewayTransactionID:
type: string
maxLength: 60
description: Gateway Transaction ID
GatewayStatus:
type: string
maxLength: 3
description: Gateway Status Code
GatewayRemarks:
type: string
maxLength: 500
description: Remarks from the gateway
CollectionDateTime:
type: string
description: Date Time
SettlementDetails:
type: object
description: It will contain the settlement details Refer SettlementDetails Object
properties:
PaidAmount:
type: number
x-precision: 18,2
description: Settlement Amount
SettlementAccountNo:
type: string
maxLength: 30
description: Beneficiary Account No
BICCode:
type: string
maxLength: 11
description: Bank identifier code
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
SupplierMDR:
type: number
x-precision: 18,2
description: Supplier side MDR
ServiceCharges:
type: number
x-precision: 18,2
description: Service charges on paid Amount
ServiceTax:
type: number
x-precision: 18,2
description: Service Tax on service charge
BankReferenceNo:
type: string
maxLength: 20
description: Reference number from the bank
SettlementStatus:
type: string
maxLength: 3
description: Settlement Status Code
SettlementRemarks:
type: string
maxLength: 500
description: Success
SettlementMode:
type: string
maxLength: 3
description: EFT
SettlementDateTime:
type: string
description: Date Time
RefundDetails:
type: object
description: It will contain the refund details if the settlement failed. Refer RefundDetails Object
properties:
RefundAmount:
type: number
x-precision: 18,2
description: Refund Amount
RefundReferenceNo:
type: string
maxLength: 20
description: Transaction ID
RefundTo:
type: string
maxLength: 30
description: Refund processed Account to
AccountNo:
type: string
maxLength: 30
description: Account details
RefundMode:
type: string
maxLength: 4
description: Process mode
RefundStatus:
type: string
maxLength: 3
description: Current status
RefundRemarks:
type: string
maxLength: 500
description: Status Description
RefundDateTime:
type: string
description: Date Time
example:
RequestID: '5564635465465846216'
StatusCode: '000'
Description: Your request has been processed successfully
DetailedSummary:
CollectionReport:
- TransactionDetails:
OrderID: '23456789'
CompanyName: AlfalaTechnologies
ReferenceCode: ALFATECH
PayMateRquestNo: '984565333566'
TransactionDateTime: 01-02-202115:45:23
Remarks: PleasemakethepaymentsagainsttheINVOICE122
Invoice:
InvoiceNumber: INVOICE122
InvoiceStartDate: 01-10-2021
InvoiceEndDate: ''
InvoiceAmount: 5000
Tax: 0
TaxAmount: 0
AmountToBeCollected: 5000
CollectionSummary:
PaymentFrom: CreditCard
PaymentThrough: 411111XXXXXX1111
BuyerMDR: 2
ServiceCharges: 100
ServiceTax: 5
ChargedAmount: 5105
GatewayTransactionID: UT57888888
GatewayStatus: '000'
GatewayRemarks: success
CollectionDateTime: 02-02-2021
SettlementDetails:
PaidAmount: 5000
SettlementAccountNo: '14567890000'
BICCode: DBSSSGSG
RoutingNumber: ''
SupplierMDR: 0
ServiceCharges: 0
ServiceTax: '0.00'
BankReferenceNo: UTR00000055555
SettlementStatus: '000'
SettlementRemarks: ''
SettlementMode: EFT
SettlementDateTime: 03-02-202113:20:12
RefundDetails:
RefundAmount: ''
RefundReferenceNo: ''
RefundTo: ''
AccountNo: ''
RefundMode: ''
RefundStatus: ''
RefundDateTime: ''
RefundRemarks: ''
'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
PayMateRequestNo:
type: string
maxLength: 20
description: If OrderID passed, then this is optional, else Required.
OrderID:
type: string
maxLength: 30
description: If PayMateRequestNo passed, then this is optional, else Required.
required:
- RequestID
example:
RequestID: '5564635465465846216'
BusinessCode: S001234
BusinessXpressID: ''
PayMateRequestNo: ''
OrderID: '23456789'
/v1/CollectHistory:
post:
operationId: CollectionReport
summary: Collection Report
description: Get all the Collection request which are still awaiting payment by the buyer, paid by buyer or settled by PayMate. This method can also be used to fetch all the Collection request, within a specific date range.
tags:
- Collections
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:
TransactionDetails:
type: object
description: It will contain Transaction Details information. Refer TransactionDetails Object
properties:
OrderID:
type: string
maxLength: 30
description: Client OrderID
CompanyName:
type: string
maxLength: 100
description: Contact's Company Name
ReferenceCode:
type: string
maxLength: 30
description: Contact unique Reference Code
PayMateRequestNo:
type: string
maxLength: 20
description: PayMate Transaction ID against the OrderID
TransactionDateTime:
type: string
description: DateTime
Remarks:
type: string
maxLength: 500
description: Remarks against payment for buyer
CollectionSummary:
type: object
description: It will contain Collection account details. Refer CollectionSummary Object
properties:
PaymentFrom:
type: string
maxLength: 15
description: Paid by Credit Card
PaymentThrough:
type: string
maxLength: 30
description: IBAN No
BuyerMDR:
type: number
x-precision: 18,2
description: Buyer side MDR
ServiceCharges:
type: number
x-precision: 18,2
description: Service charges
ServiceTax:
type: number
x-precision: 18,2
description: Service tax on Service charge
ChargedAmount:
type: number
x-precision: 18,2
description: Charged Amount
GatewayTransactionID:
type: string
maxLength: 60
description: Gateway Transaction ID
GatewayStatus:
type: string
maxLength: 3
description: Gateway Status Code
GatewayRemarks:
type: string
maxLength: 500
description: Remarks from the gateway
CollectionDateTime:
type: string
description: Date Time
SettlementDetails:
type: object
description: It will contain the settlement details Refer SettlementDetails Object
properties:
PaidAmount:
type: number
x-precision: 18,2
description: Settlement Amount
SettlementAccountNo:
type: string
maxLength: 30
description: Beneficiary Account No
BICCode:
type: string
maxLength: 11
description: Bank identifier code
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
SupplierMDR:
type: number
x-precision: 18,2
description: Supplier side MDR
ServiceCharges:
type: number
x-precision: 18,2
description: Service charges on paid Amount
ServiceTax:
type: number
x-precision: 18,2
description: Service Tax on service charge
BankReferenceNo:
type: string
maxLength: 20
description: Reference number from the bank
SettlementStatus:
type: string
maxLength: 3
description: Settlement Status Code
SettlementRemarks:
type: string
maxLength: 500
description: Success
SettlementMode:
type: string
maxLength: 3
description: EFT
SettlementDateTime:
type: string
description: Date Time
RefundDetails:
type: object
description: It will contain the refund details if the settlement failed. Refer RefundDetails Object
properties:
RefundAmount:
type: number
x-precision: 18,2
description: Refund Amount
RefundReferenceNo:
type: string
maxLength: 20
description: Transaction ID
RefundTo:
type: string
maxLength: 30
description: Refund processed Account to
AccountNo:
type: string
maxLength: 30
description: Account details
RefundMode:
type: string
maxLength: 4
description: Process mode
RefundStatus:
type: string
maxLength: 3
description: Current status
RefundRemarks:
type: string
maxLength: 500
description: Status Description
RefundDateTime:
type: string
description: Date Time
example:
RequestID: '5214651354651'
StatusCode: '000'
Description: Your request has been processed successfully
DetailedSummary:
CollectionReport:
- TransactionDetails:
OrderID: '23456789'
CompanyName: AlfalaTechnologies
ReferenceCode: ALFATECH
PayMateRquestNo: '984565333566'
TransactionDateTime: 01-02-202115:45:23
Remarks: PleasemakethepaymentsagainsttheINVOICE122
Invoice:
InvoiceNumber: INVOICE122
InvoiceStartDate: 01-10-2021
InvoiceEndDate: ''
InvoiceAmount: 5000
Tax: 0
TaxAmount: 0
AmountToBeCollected: 5000
CollectionSummary:
PaymentFrom: CreditCard
PaymentThrough: 411111XXXXXX1111
BuyerMDR: 2
ServiceCharges: 100
ServiceTax: 5
ChargedAmount: 5105
GatewayTransactionID: UT57888888
GatewayStatus: '000'
GatewayRemarks: success
CollectionDateTime: 02-02-2021
SettlementDetails:
PaidAmount: 5000
SettlementAccountNo: '14567890000'
BICCode: DBSSSGSG
RoutingNumber: ''
SupplierMDR: 0
ServiceCharges: 0
ServiceTax: '0.00'
BankReferenceNo: UTR00000055555
SettlementStatus: '000'
SettlementRemarks: ''
SettlementMode: EFT
SettlementDateTime: 03-02-202113:20:12
RefundDetails:
RefundAmount: ''
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paymate/refs/heads/main/openapi/paymate-collections-api-openapi.yml