Skip to main content

Pay-Out · Peru

TOPPAY TeamAbout 3 min

Request

The Pay-Out API initiates disbursement transactions. This page is for Peru (country code pe). Payee bank bankCode, account type, CCI, and related rules follow this page and Regional Payment Guide — Peru.

Request URL

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

EnvironmentURL
Sandboxhttps://openapi.toppayment.com/sandbox/pe/disbursement/cash
Productionhttps://openapi.toppayment.com/pe/disbursement/cash

bankCode / bankName (payee bank) are in Regional Payment Guide — Peru.

Request Header

FieldRequiredTypeDescription
Content-TypeMStringapplication/json

Request Body

FieldRequiredTypeDescription
mchNoMString(32)Merchant number
orderNumMString(50)Merchant order number
amountMNumber(32,8)Amount
Peru: positive, integer or at most 2 decimal places, not all zeros.
bankCodeMString(32)Payee bank/wallet code (Peru) — Regional Payment Guide — Peru
bankCardCString(50)Card/account field if the gateway still uses it; for Peru prefer accountNumber for CCI
accountTypeMString(32)CORRIENTE / AHORROS / WALLET (case-insensitive) — Regional Payment Guide — Peru
accountNumberCString(100)CCI (interbank): required when not WALLET; after stripping non-digits must be 20 digits; optional for WALLET
documentTypeMString(16)DNI / CE / PAS / RUC (case-insensitive)
documentNoMString(100)Document number (documento)
No cross-check of length vs documentType.
accountEmailMString(255)Payee email — valid format
accountNameMString(50)Payee name — max 50, letters/digits/spaces only
descriptionOString(255)Description
feeTypeMNumberFee type
0: Deducted from order amount (net = amount − fee)
1: Fee separate (net = amount)
downNotifyUrlMString(164)Callback URL
timestampMStringTimestamp (13 digits)
signMStringSee Signature

Request Body Example (checking account + CCI; align with your live gateway)

Content-type: application/json

Response

HTTP Response

FieldRequiredTypeDescription
Content-TypeMStringapplication/json

Response Body Parameters

FieldRequiredTypeDescription
successMBooleanRequest success
codeMString9999 = success; otherwise use status codes before treating as final failure
msgOStringMessage
timeStampMNumberServer time (ms)
dataMObjectPayload
orderNumMStringMerchant order number
platOrderNumMStringPlatform order number
amountMNumberAmount
feeMNumberFee
feeTypeMNumberFee type
statusMNumberStatus — Transaction Status Codes
statusMsgMStringStatus message
bankCodeMStringBank code (Peru) — Regional Payment Guide — Peru
bankCardMStringMasked or echoed account
accountNameMStringAccount name
descriptionOStringDescription
Content-type: application/json

Notification

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringHTTP request content type
Fixed value: application/json
Indicates JSON request format

Notification Body

FieldRequiredTypeDescription
platOrderNumMStringPlatform order number
System-generated internal transaction reference
Used for internal transaction management and support
versionMStringVersion
API version identifier
Example: v1
orderNumMStringMerchant order number
Same as orderNum in the original request
Used for transaction identification and verification
amountMNumberTransaction amount
Confirmed transaction amount
feeMNumberFee
Fee charged for the transaction
feeTypeMNumberFee type
1: Merchant bears the fee
statusMNumberTransaction status
See Transaction Status Codes
statusMsgMStringStatus message
Human-readable order status description
bankCodeMStringBank code (Peru)
See Regional Payment Guide — Peru
bankCardMStringBank card number/account number
accountNameMStringAccount name
descriptionOStringDescription
signMStringSignature
Digital signature of callback data

Response

Important response

Notification response: Return only the string SUCCESS to acknowledge receipt of the notification

{
    "platOrderNum": "TRANS2008812168572567552",
    "version": "v1",
    "orderNum": "PEPAYOUT12345648",
    "amount": 111.00,
    "fee": 3,
    "feeType": 1,
    "status": 2,
    "statusMsg": "supplement success!",
    "bankCode": "BCP",
    "bankCard": "00219200212345678901",
    "accountName": "Juan Perez",
    "description": "test",
    "sign": "KCitZCmhtuoGtVOl/EC4Mn1vwf3QRkoL9Ged0psKiCzATvP0AePNc8P1PEcWrbJYAPctewCRO9jW+vHjtXrh6ozk2OUvVDUlLTiM3PS7ydpeogy+W6w3b4OZDg5vUtaTVwz5mpEKBZv/XEhOes1C16+ec36PLp3Mi0Y0g4ivgwk="
}