PayMate Businesses API

Business (KYB) onboarding, maintenance, charges and collection account setup

Business capability
Customer Onboarding Management BC-1300.10

Operations 9

POST /v1/businessboarding Business Boarding #
POST /v1/modifybusiness Modify Business #
POST /v1/SetTransctionCharges Set Transaction Charges #
POST /v1/deletebusiness Delete Business #
POST /v1/BusinessCollectionAccount Set Collection Account #
POST /v1/managebusiness Manage Business #
POST /v1/GetTermsNCondition Terms & Condition #
POST /v1/processbuyersupplierkyc Buyer Supplier KYC #
POST /v1/processShareholderdetails Shareholder Details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paymate-businesses-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paymate-businesses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PayMate Global Partner Businesses 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: Businesses
  description: Business (KYB) onboarding, maintenance, charges and collection account setup
paths:
  /v1/businessboarding:
    post:
      operationId: BusinessBoarding
      summary: Business Boarding
      description: 'This method is used for on-boarding the Business to the PayMate platform. Once the Business gets on-boarded to the PayMate platform, they can perform the various activities like: adding a card, boarding contacts, making payments to their vendors and sending collection request to their buyers.'
      tags:
      - Businesses
      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: This will be used to show business status and respond. Refer DetailedSummary Object
                    properties:
                      BusinessCode:
                        type: string
                        maxLength: 30
                        description: Sent during request
                      BusinessXpressID:
                        type: string
                        maxLength: 15
                        description: Business Identification at PayMate end
                      Status:
                        type: string
                        maxLength: 3
                        description: Current status of the business
                      Message:
                        type: string
                        maxLength: 500
                        description: Status description
              example:
                RequestID: '123456789'
                StatusCode: '000'
                Description: Your request has been processed successfully
                DetailedSummary:
                  BusinessXpressID: PMX10002344
                  BusinessCode: S001234
                  Status: '198'
                  Message: T&C acceptance is pending
        '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
                  x-possible-values: 0-9, A-Z
                BusinessInfo:
                  type: object
                  description: Refer BusinessInfo object
                  properties:
                    BusinessRegistrationNo:
                      type: string
                      maxLength: 30
                      description: Company Registration no issued by the government. If registration number is provided by the partner then PayMate will perform the business KYC in real time. If the registration number is not provided then the Partner will have to use the BuyerSupplierKYC and ShareholderDetails API method for KYC verification.
                    BusinessName:
                      type: string
                      maxLength: 100
                      description: Name of the business as per the government record.
                      x-special-characters: . @ & ! ' _ - / ( )
                    BusinessCode:
                      type: string
                      maxLength: 30
                      description: Business unique reference no. on partner system
                    ContactPersonName:
                      type: string
                      maxLength: 100
                      description: Contact's person name
                    BusinessEmailAddress:
                      type: string
                      maxLength: 240
                      description: Business Email which will be used for all future communication
                    ISDCode:
                      type: string
                      maxLength: 4
                      description: If business will provide the country ISD code then system will validate and store the details
                      x-possible-values: '[''+'', ''0-9'']'
                    MobileNumber:
                      type: string
                      pattern: ^[0-9]+$
                      maxLength: 10
                      description: If business will provide the mobile no then system will validate the number else they can skip the details
                    BusinessDescription:
                      type: string
                      maxLength: 250
                      description: Short description about the business
                    WebsiteAddress:
                      type: string
                      maxLength: 100
                      description: Business website details
                    BusinessISOCountryCode:
                      type: string
                      maxLength: 3
                      description: Country 3 letter code(ISO alpha 3 code)
                    ContactKYCRequired:
                      type: string
                      maxLength: 1
                      description: Y – if Business wants their vendors to perform the KYC, N – Otherwise
                      x-possible-values: '[''Y'', ''N'']'
                  required:
                  - BusinessName
                  - BusinessCode
                  - ContactPersonName
                  - BusinessEmailAddress
                  - ContactKYCRequired
                TransactionCharges:
                  type: object
                  description: Array of business charges. Minimum one to provide and these charges will be used during payment processing. Refer TransactionCharges Object
                  properties:
                    ServiceType:
                      type: string
                      maxLength: 20
                      description: 'Payments: only for supplier payment. Collections: for only for collection. Otherwise set both the service type in case of business want to use both the service'
                      x-possible-values: '[''Payments'', ''Collection'']'
                    PaymentMode:
                      type: string
                      maxLength: 15
                      description: Set payment mode as Credit Card, Debit Card, Net Banking and XpressAccount
                      x-possible-values: '[''CreditCard'',''DebitCard'',''NetBanking'',''XpressAccount'']'
                    ProcessingRate:
                      type: number
                      x-precision: 18,2
                      description: MDR for each payment mode. This should be greater than or equal to given MDR to partner
                    ProgramCode:
                      type: string
                      maxLength: 10
                      description: Program Code defines the respective channel to be used during transaction. Required only in case of payment mode credit card
                  required:
                  - ServiceType
                  - PaymentMode
                  - ProcessingRate
              required:
              - RequestID
              - BusinessInfo
              - TransactionCharges
            example:
              BusinessDetails:
                RequestID: '123456789'
                BusinessInfo:
                  BusinessRegistrationNo: 1000008-M
                  BusinessName: '#CENTEROFATTRACTION PRIVATE LIMITED'
                  BusinessCode: S001234
                  ContactPersonName: DheerajRai
                  BusinessEmailAddress: dheeraj@supernet.com
                  ISDCode: '+60'
                  MobileNumber: '196090811'
                  BusinessDescription: ''
                  WebsiteAddress: ''
                  BusinessISOCountryCode: MYS
                  ContactKYCRequired: N
                TransactionCharges:
                - ServiceType: Payments
                  PaymentMode: CreditCard
                  ProcessingRate: '2.00'
                  ProgramCode: ''
                - ServiceType: Payments
                  PaymentMode: NeBanking
                  ProcessingRate: '1.00'
                  ProgramCode: ''
                - ServiceType: Payments
                  PaymentMode: XpressAccount
                  ProcessingRate: '0.00'
                  ProgramCode: ''
                - ServiceType: Collections
                  PaymentMode: CreditCard
                  ProcessingRate: '2.00'
                  ProgramCode: ''
                - ServiceType: Collections
                  PaymentMode: DebitCard
                  ProcessingRate: '2.00'
                  ProgramCode: ''
                - ServiceType: Collections
                  PaymentMode: XpressAccount
                  ProcessingRate: '0.00'
                  ProgramCode: ''
  /v1/modifybusiness:
    post:
      operationId: ModifyBusiness
      summary: Modify Business
      description: This method is used for updating the Business information, once the Business is on-boarded to the PayMate. The Business can update their information such as Business Name, Contact person’s information, Website details, etc. Business can send either “BusinessCode” or “BusinessXpressID” with the request for modification.
      tags:
      - Businesses
      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: This will be used to show business status and respond. Refer DetailedSummary Object
                    properties:
                      BusinessCode:
                        type: string
                        maxLength: 30
                        description: Sent during request
                      BusinessXpressID:
                        type: string
                        maxLength: 15
                        description: Business Identification at PayMate end
                      Status:
                        type: string
                        maxLength: 20
                        description: Current status of the business
                      Message:
                        type: string
                        maxLength: 500
                        description: Status description
              example:
                RequestID: '123456789'
                StatusCode: '000'
                Description: Yourrequesthasbeenprocessedsuccessfully
                DetailedSummary:
                  BusinessXpressID: PMX10002344
                  BusinessCode: S001234
                  Status: '219'
                  Message: Yourbusinessinformationhasbeenupdatedsuccessfully
        '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
                  x-possible-values: '[''0 - 9'', ''A - Z'']'
                BusinessInfo:
                  type: object
                  description: This will be used to update business information. Refer BusinessInfo Object
                  properties:
                    BusinessRegistrationNo:
                      type: string
                      maxLength: 30
                      description: Company Registration no issued by the government. If registration number is provided by the partner then PayMate will perform the business KYC in real time otherwise the business will use other BusinessKYC API and submit the KYC documents. PayMate will review the KYC document and take action within 48 hours.
                    BusinessName:
                      type: string
                      maxLength: 100
                      description: Pass this parameter only when change is required.
                      x-special-characters: . @ & ! ' _ - / ( )
                    BusinessCode:
                      type: string
                      maxLength: 30
                      description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending BusinessXpressID
                    BusinessXpressID:
                      type: string
                      maxLength: 15
                      description: Business Unique Relationship no at PayMate end. Parameter is mandatory if business is not sending BusinessCode
                    ContactPersonName:
                      type: string
                      maxLength: 100
                      description: Pass this parameter only when change is required
                    BusinessEmailAddress:
                      type: string
                      maxLength: 240
                      description: Pass this parameter only when change is required
                    ISDCode:
                      type: string
                      maxLength: 4
                      description: Pass this parameter only when business want to update country ISD code
                    MobileNumber:
                      type: string
                      pattern: ^[0-9]+$
                      maxLength: 10
                      description: Pass this parameter only when change is required
                    WebsiteAddress:
                      type: string
                      maxLength: 100
                      description: Pass this parameter only when change is required
                    BusinessDescription:
                      type: string
                      maxLength: 250
                      description: Pass this parameter only when change is required
                    BusinessISOCountryCode:
                      type: string
                      maxLength: 3
                      description: Country 3 letter code(ISO alpha 3 code)
                    ContactKYCRequired:
                      type: string
                      maxLength: 1
                      description: Pass this parameter only when change is required
                      x-possible-values: Y / N
              required:
              - RequestID
              - BusinessInfo
            example:
              BusinessDetails:
                RequestID: '987654321'
                BusinessInfo:
                  BusinessCode: S001234
                  BusinessXpressID: ''
                  BusinessName: '#CENTEROFATTRACTION PRIVATE LIMITED'
                  ContactPersonName: DheerajRai
                  BusinessEmailAddress: Dheeraj.Rai@supernet.com
                  ISDCode: '+60'
                  MobileNumber: '196090811'
                  BusinessDescription: ''
                  WebsiteAddress: ''
                  BusinessISOCountryCode: MYS
                  ContactKYCRequired: N
  /v1/SetTransctionCharges:
    post:
      operationId: SetTransactionCharges
      summary: Set Transaction Charges
      description: This method is used for setting up the transaction charges for various services. With this API, one can set-up Credit Card, Debit Card or Net Banking charges for Payments and Collections.
      tags:
      - Businesses
      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: This will be used to show business status and respond. Refer DetailedSummary Object
                    properties:
                      BusinessCode:
                        type: string
                        maxLength: 30
                        description: Sent during request
                      BusinessXpressID:
                        type: string
                        maxLength: 3
                        description: Business Identification at PayMate end
                      Status:
                        type: string
                        maxLength: 20
                        description: Current status of the business
                      Message:
                        type: string
                        maxLength: 500
                        description: Status description
              example:
                RequestID: '123456789'
                StatusCode: '000'
                Description: Your request has been processed successfully
                DetailedSummary:
                  BusinessXpressID: PMX10002344
                  BusinessCode: S001234
                  Status: '225'
                  Message: Your business charges has been updated successfully
        '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
                  x-possible-values: '[''A-Z'', ''0-9'']'
                BusinessCode:
                  type: string
                  maxLength: 30
                  description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending BusinessXpressID
                  x-possible-values: '[''A-Z'', ''0-9'']'
                BusinessXpressID:
                  type: string
                  maxLength: 15
                  description: Business Unique Relationship no at PayMate end. Parameter is mandatory if business is not sending BusinessCode
                TransactionCharges:
                  type: object
                  description: Array of business charges. Minimum one to be provided and these charges will be used during payment processing. Refer TransactionCharges Object
                  properties:
                    ServiceType:
                      type: string
                      maxLength: 20
                      description: 'Payments: only for supplier payment. Collections: for only for collection. Otherwise set both the service type in case of business want to use both the service'
                      x-possible-values: '[''Payments'', ''Collections'']'
                    PaymentMode:
                      type: string
                      maxLength: 15
                      description: Set payment mode as Credit Card, Debit Card, Net Banking
                      x-possible-values: '[''CreditCard'',''DebitCard'',''NetBanking'',''XpressAccount'']'
                    ProcessingRate:
                      type: number
                      x-precision: 18,2
                      description: MDR for each payment mode
                    ProgramCode:
                      type: string
                      maxLength: 10
                      description: Program Code defines the respective channel to be used during transaction. Required only in case of payment mode credit card
                  required:
                  - ServiceType
                  - PaymentMode
                  - ProcessingRate
              required:
              - RequestID
              - TransactionCharges
            example:
              TrasnactionChargesDetails:
                RequestID: '123456789'
                BusinessCode: CRX00005
                BusinessXpressID: ''
                TransactionCharges:
                - ServiceType: Payments
                  PaymentMode: CreditCard
                  ProcessingRate: '2.00'
                  ProgramCode: ''
                - ServiceType: Collections
                  PaymentMode: DebitCard
                  ProcessingRate: '2.00'
                  ProgramCode: ''
  /v1/deletebusiness:
    post:
      operationId: DeleteBusiness
      summary: Delete Business
      description: This method is used for deleting a Business permanently. It cannot be undone. Also, immediately cancels any active subscription of the Business, if any.
      tags:
      - Businesses
      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: This will be used to show business status and respond. Refer DetailedSummary Object
                    properties:
                      BusinessCode:
                        type: string
                        maxLength: 30
                        description: Sent during request
                      BusinessXpressID:
                        type: string
                        maxLength: 15
                        description: Business Identification at PayMate end
                      Status:
                        type: string
                        maxLength: 3
                        description: Current status of the business
                      Message:
                        type: string
                        maxLength: 500
                        description: Status description
              example:
                RequestID: '123456789'
                StatusCode: '000'
                Description: Yourrequesthasbeenprocessedsuccessfully
                DetailedSummary:
                  BusinessXpressID: PMX10002344
                  BusinessCode: S001234
                  Status: '242'
                  Message: Yourbusinesshasbeendeletedsuccessfully
        '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
                  x-possible-values: '[''A-Z'', ''0-9'']'
                BusinessCode:
                  type: string
                  maxLength: 30
                  description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending BusinessXpressID
                BusinessXpressID:
                  type: string
                  maxLength: 15
                  description: Business Unique Relationship no at PayMate end. Parameter is mandatory if business is not sending BusinessCode
                  x-possible-values: '[''A-Z'', ''0-9'']'
                Reason:
                  type: string
                  maxLength: 500
                  description: Remarks on deleting
                  x-possible-values: '[''A-Z'', ''0-9'']'
              required:
              - RequestID
              - Reason
            example:
              BusinessDetails:
                RequestID: '123456789'
                BusinessCode: ATRS00001
                BusinessXpressID: ''
                Reason: Businessisnotactivesincelastfewmonths
  /v1/BusinessCollectionAccount:
    post:
      operationId: SetCollectionAccount
      summary: Set Collection Account
      description: This method is used for adding a collection Bank account, where the Business would like to receive the funds received from their customers.
      tags:
      - Businesses
      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: 20
                    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: This will be used to show business status and respond. Refer DetailedSummary Object
                    properties:
                      BusinessCode:
                        type: string
                        maxLength: 30
                        description: Sent during request
                      BusinessXpressID:
                        type: string
                        maxLength: 15
                        description: Business Identification at PayMate side
                      Status:
                        type: string
                        maxLength: 3
                        description: Current status of the business
                      Message:
                        type: string
                        maxLength: 500
                        description: Status description
              example:
                RequestID: '123456789'
                StatusCode: '000'
                Description: Businessrequesthasbeenprocessedsuccessfully
                DetailedSummary:
                  BusinessXpressID: PMX10002344
                  BusinessCode: S001234
                  Status: '288'
                  Message: Accounthasbeensetasadefaultsettlementaccount
        '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 BusinessXpressID
                BusinessXpressID:
                  type: string
                  maxLength: 15
                  description: Business Unique Relationship no at PayMate end. Parameter is mandatory if business is not sending BusinessCode
                BankAccountDetails:
                  type: object
                  description: This will be used to provide business account details for collection. Refer BankAccountDetails Object
                  properties:
                    AccountHolderName:
                      type: string
                      maxLength: 100
                      description: Name of the person or business that owns the bank account.
                    AccountNo:
                      type: string
                      maxLength: 30
                      description: Business unique reference no. on partner system. Parameter is mandatory if business is not sending BusinessXpressID
                    CurrencyCode:
                      type: string
                      maxLength: 3
                      description: Three letter ISO code for th

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paymate/refs/heads/main/openapi/paymate-businesses-api-openapi.yml