Skip to main content

Indonesia

TOPPAY TeamAbout 2 min

Request

The Account Verification API checks whether a bank account or e-wallet account is valid and returns the account holder name. This page covers Indonesia (country code id).

  • Synchronous: the final result is returned in a single response; there is no async callback.
  • Production only: use the production domain and merchant number.
  • Unique order number: duplicate mchNo + orderNum returns an error; verification is not retried.
  • Signature: same rules as Pay-Out create; see Signature.

Endpoint

Domain: Prefer unified host openapi.toppayment.com (path unchanged); legacy country domain (e.g. global-id-openapi.toppayment.com) remains available.

URL
https://openapi.toppayment.com/id/disbursement/bankVerify

bankCode / bankName are the same as Pay-Out · see Regional Payment Guide — Indonesia — Disbursement bank codes.

Request Headers

FieldRequiredTypeDescription
Content-TypeMStringFixed: application/json

Request Body

FieldRequiredTypeDescription
mchNoMString(32)Merchant number
orderNumMString(64)Merchant order number — must be unique
bankCodeMString(32)Bank / e-wallet product code — same as Pay-Out
bankCardMString(64)Bank account or e-wallet account number
timestampMString(13 digits)Millisecond timestamp
signMStringRSA signature — see Signature
countryCodeOString(16)Country code

Request Examples

Content-Type: application/json

Response

HTTP Response

FieldRequiredTypeDescription
Content-TypeMStringFixed: application/json

Response Body

FieldRequiredTypeDescription
successMBooleanWhether the request was accepted
codeMString9999 = success; others — see Exception codes
msgOStringEnglish message
timeStampMNumberResponse timestamp (ms)
dataOObjectBusiness payload; may be null on failure
orderNumMStringMerchant order number
platOrderNumMStringPlatform order number
accountNameOStringAccount name when verification succeeds (not masked)
statusMIntegerOrder status — see table below
verifyResultOIntegerVerification result — see table below

status (order status)

ValueMeaning
0Processing
1Processed successfully
2Processing failed
3Request failed

verifyResult (verification result)

ValueMeaningWhen status is
1Account verification succeeded1
2Account verification failed (invalid account, name mismatch, etc.)1
3Request failed3
{
    "success": true,
    "code": "9999",
    "msg": null,
    "timeStamp": 1717300000123,
    "data": {
        "orderNum": "VERIFY202606150001",
        "platOrderNum": "V20260615XXXX",
        "accountName": "JOHN DOE",
        "status": 1,
        "verifyResult": 1
    }
}