Skip to main content

Pay-In · Peru

TOPPAY TeamAbout 2 min

Request

The Pay-In API initiates collection transactions from customers. This page covers Peru (country code pe). Request/response fields are the same across markets; use your market’s method codes only.

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/pay/prePay
Productionhttps://openapi.toppayment.com/pe/pay/prePay

method (Pay-In payment codes for Peru) is listed in Regional Payment Guide — Peru.

Request Header

FieldRequiredTypeDescription
Content-TypeMStringFixed value: application/json

Request Body

FieldRequiredTypeDescription
mchNoMString(32)Merchant number
orderNumMString(64)Merchant order number
amountMNumber(32,8)Transaction amount
Peru: positive, integer or at most 2 decimal places, not all zeros.
productDetailMString(100)Product detail
methodOString(16)Payment method (Peru)
Currently DOCUMENTS — see Regional Payment Guide — Peru
timestampMString(13)Timestamp in milliseconds
customerNameMString(64)Customer name
Peru route: max 50 characters; Unicode letters, digits, spaces only.
customerEmailMString(64)Customer email
Peru route: if present, must be a valid email.
customerPhoneMString(32)Customer phone
documentTypeCString(16)ID type; required when documentNo is sent. Values: Regional Payment Guide — Peru (DNI / CE / PAS / RUC, case-insensitive)
documentNoCString(100)ID number; optional; if set, documentType must be sent. No length vs type cross-check
expiryPeriodONumber(1–9999)Validity in minutes
downNotifyUrlMString(255)Async callback URL
redirectUrlOString(512)Redirect after payment
signMStringSignature — see Signature

Request Body Example

Content-type: application/json

Response

HTTP Response

FieldRequiredTypeDescription
Content-TypeMStringapplication/json

Response Body Parameters

FieldRequiredTypeDescription
successMBooleanSuccess flag
codeMString9999 = success
msgOStringMessage
timeStampMNumberServer time (ms)
dataMObjectPayload
methodMStringPayment method (Peru) — Regional Payment Guide — Peru
(Same field list as the Philippines version)
{
    "success": true,
    "code": "9999",
    "msg": null,
    "timeStamp": 1767840272829,
    "data": {
        "orderNum": "PE1234561",
        "platOrderNum": "PRE2009093829059153920",
        "amount": 100.50,
        "fee": 2.0,
        "method": "DOCUMENTS",
        "productDetail": "Product",
        "customerName": "Maria Garcia",
        "customerEmail": "[email protected]",
        "customerPhone": "51987654321",
        "validTime": 1767926672819,
        "cashierUrl": "https://example.cashier/pay",
        "payData": "https://example.cashier/pay",
        "payDataType": "CASHIER_URL"
    }
}

Notification

Same callback contract as the Philippines Pay-In: body fields, status string values, and SUCCESS acknowledgment — see Transaction Status Codes.

Example callback (illustrative)

{
    "platOrderNum": "PRE2009165141186183168",
    "version": "v1",
    "orderNum": "PE12345621",
    "amount": 100.50,
    "fee": 2,
    "customerName": "Maria Garcia",
    "customerEmail": "[email protected]",
    "customerPhone": "51987654321",
    "status": "SUCCESS",
    "sign": "…"
}

Respond with:

SUCCESS