Philippines Payment API
About 3269 wordsAbout 11 min
Warning
Before reading this API documentation, please make sure to review API Guide
Transaction Limits
| Transaction Type | Limit (Unit: PHP) |
|---|---|
| Collection | 100-50000 |
| Disbursement | 1-50000 |
Collection API
Collection Application
Description:
- Create a collection order.
URL: /php/collect/apply Note: AppId must correspond to the Philippine Peso (PHP), and upon successful payment, the user's PHP balance will be topped up.
Parameters:
| Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtain from the backend, must pass the correct business ID according to the currency in the URL). |
| orderId | Yes | String | Merchant order number (must be unique, max length 48). |
| name | Yes | String | Payee name (format: upper/lowercase letters with spaces allowed, 1-30 chars, "firstName middleName lastName" (middleName optional, special characters supported: ! -)). |
| phone | Yes | String | Real phone number (format: starts with 09, numeric only, 11 digits). Valid if it matches the format. |
| Yes | String | Real email. | |
| amount | Yes | String | Transaction amount (unit: ₱, up to 2 decimal places; do not add symbols such as “,”). Range: 50-49999. |
| payType | Yes | String | Transaction type. |
| inBankCode | Yes | String | Payment Method. |
| callBackUrl | Yes | String | Redirect URL after successful payment. |
| callBackFailUrl | Yes | String | Redirect URL after failed payment. |
| notifyUrl | No | String | Callback notification URL. |
| subject | No | String | Payment note. |
| body | No | String | Payment details. |
| partnerUserId | Yes | String | Unique user identifier (e.g., userId). Used by risk control systems, must be real and valid. Format: numbers, letters, or symbols -~!@#$%&*()_. |
| sign | Yes | String | Signature. |
request
{
"appId": 1054,
"orderId": "M233323000059",
"amount": "300",
"phone": "09230219312",
"email": "23423@qq.com",
"name": "test",
"inBankCode": "PH_QRPH_DYNAMIC",
"payType": "QR",
"partnerUserId": "149597870",
"sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw=="
}response
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M233323000059",
"orderNo": "6023071013539074",
"payUrl": "https://a.api-uat.php.com/1L9zQS2",
"bankCode": "GCASH_STATIC_VA",
"bankNo": "PC0007I10000035",
"qrCode": "00020101021228760011ph.ppmi.p2m0111OPDVPHM1XXX0315777148000000017041652948137245442930503001520460165303608540810000.php Of Mandalu62310010ph.allbank05062110000803***88310012ph.ppmi.qrph0111OPDVPHM1XXX63042763",
"sign": "YEoA8Y2JzQFGVzwJSqmemm1Kfv/bfyIfCqv2dp7RNzT5B72AQvdD+nt2nR4sL1HWscvmNHyVt5ovAi7MMhy3ziih/sMph+wPx4YjH3W1h5DyBvSlWvaKfKrK5ViomZ0pPYWydwRHnnRnicxToHK9S6qtSy7Q73O0hdz4hJ9p41Th3ycBl2Q9SeqSZYSY1ohcPDhdyRf2y0prb8rHgpBKzxZ5BKX/1bsE9OmsSEHAEYT8OGgko6aNe8XPAhr4G48cpWTftvnGQuzh0O65nuZRI/PF+Axt2zJCVbFHDDSREI9NlAT82ebDqhlVdxQzKE67D1nxgjb3dPmDUYHOBpmwxQ=="
}
}Response Data Parameters
| Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique). |
| orderNo | String | Platform order number. |
| payUrl | String | Payment link. |
| bankNo | String | Repayment account number (VA). |
| bankCode | String | Channel code (VA). |
| qrCode | String | QR code content (can be used to generate QR). |
| sign | String | Signature. |
Collection Query
Description:
- Create a collection order.
- When
payType=PAYMENT_GATEWAY, theorderNowill be returned synchronously and can be queried directly. - For other payment methods, after asynchronous notification, query again with
orderNofor confirmation.
URL: /php/collect/query
Parameters:
| Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtain from the backend, must pass the correct business ID according to the currency in the URL). |
| orderId | Yes | String | Merchant order number. |
| orderNo | No | String | Platform order number (faster response). |
| sign | Yes | String | Signature. |
request
{
"appId": 1054,
"orderId": "M22222000028",
"sign": "EmyJGm3ELzG4FsOd0Krs9ncbSjo4oTGuXWML+7djYla3+VAwd9wS17z38p/7U2ZAjroO04XrE7YXcB1o76Dtyipj3h3bJzs7FYma1QNkMUdt9hh7m8U6hMsMQX7vIWHtXNwz4pbTSC75+kQWXaCew7KoE6LXECdJU8AISgNgeki2TK9R0pCfshr0Z2SZBPeuT6OvIH5LdmqgdZhuqnffGU2qnXk4KMkO848e6/WALLBR+LE1wyKHfPnYVcuKSMVYxkvKyyIL5JIPEgW0o5bh4RCbaUn3NZtyYwrU1uQ3ZDFRThm9j6XAQP+LBlmq3nOePqBtp/VDVarRaV+7FbQg3A=="
}response
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M22222000028",
"orderNo": "6023042811314347",
"amount": "50000.00",
"actualAmount": "0.00",
"fee": "0.00",
"status": 1,
"sign": "fP433ygWVDLVGxYkVnIJj7riGq0U3vyVX+MbBAImxfGLZkZcEAHVEoVYuULZSmXAAXKRSyd67WlDNm+24pougM54ofAoH4HMtCL2tfCoBReFyz3z02AGKkrKE2xWhSpWoqfQoBvzwuN5iGMMu0s9Q1YvqiwJ8WDVIENnmiIyD8qDJN7caHTW2US14/faG+69AvnuIgJ/nu7/jogOlgEYdZdVYU7gcRDE+d47KjlFGswQkJ/h/uzV7cWtUqrtOO7ZnZ3/z33Xx8awokX36QoYcPSWAU0h+Ij9O9402HNhm1eTbYcLU0uI/z8xCAtyAI/tTyiFijpiNlxUKQj+zKsILw=="
}
}Response Data Parameters
| Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique). |
| orderNo | String | Platform order number. |
| amount | String | Transaction amount. |
| actualAmount | String | Received amount. |
| fee | String | Handling fee. |
| status | Integer | Status (0: Not started, 1: Collecting, 2: Success, 3: Failed, 4: Partial, 5: Overpaid, -1: Exception pending confirmation). |
| payTime | String | Payment success time (present when status=2,4,5) (Philippines Time), format: yyyy-MM-dd HH:mm:ss |
| errorMsg | String | Failure reason (present when status=3). |
| sign | String | Signature. |
Payment Methods
| Currency | Payment Type (payType) | Payment Code (inBankCode) | Limit | Status | Description |
| PHP | QR | PH_QRPH_DYNAMIC | 100-50000 | Available | QRPH Dynamic Code |
| PHP | PAYMENT_GATEWAY | GCASH_QR | 100-50000 | Available | GCash Wallet (Activation) |
| PHP | PAYMENT_GATEWAY | GCASH_URL | 100-50000 | Available | GCash Wallet (Direct) |
| PHP | PAYMENT_GATEWAY | GRPY_URL | 100-50000 | Available | GrabPay Wallet |
| PHP | PAYMENT_GATEWAY | PAYMAYA_URL | 100-50000 | Available | PayMaya Wallet |
Payout API
Payout Apply
Description:
- Create a payout order.
URL: /php/pay/apply
Parameters:
| Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtain from backend, must match the business ID according to the currency in the URL). |
| orderId | Yes | String | Merchant order number (must be unique, max length 48). |
| amount | Yes | String | Transaction amount (unit: ₱, accurate to 2 decimals; do not include punctuation such as “,”). |
| accountType | Yes | String | Account type: EWALLET (e-wallet), BANK_ACCOUNT (bank). |
| bankCode | Yes | String | Wallet code and bank code. |
| accountNo | Yes | String | User’s bank/wallet account number. |
| name | Yes | String | Recipient name (Format: English letters, allows spaces, 1-30 chars, "firstName middleName lastName", middleName optional, supports '.-). |
| phone | Yes | String | Real phone number (Format: starts with 09, digits only, 11 digits total). |
| Yes | String | Real email address. | |
| notifyUrl | No | String | Callback URL. |
| subject | No | String | Payment remark (transaction title, product name, payment reason). |
| body | No | String | Detailed remark. |
| partnerUserId | Yes | String | Unique user identifier (e.g., userId), required for risk control. Must be valid. Format: digits, letters, or common symbols -~!@#$%&*()_. |
| sign | Yes | String | Signature. |
request(When accountType = BANK_ACCOUNT)
{
"appId": 1054,
"orderId": "M100000450012",
"amount": "500",
"accountType": "BANK_ACCOUNT",
"bankCode": "BDO",
"accountNo": "09876543210",
"name": "john doe",
"phone": "09876543210",
"email": "johndoe@cashfree.com",
"subject": "iphone13",
"body": "ProMotion technology with adaptive refresh rates up to 120Hz",
"partnerUserId": "149597870",
"sign": "I1PeK3eJOVsFFNowxVRqMXpeWm1lr/BcRpBi8WsW4wVo1+5CC3JsrFq/m/L2O69NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p18oe7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}response
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M100000450013",
"orderNo": "3023062014149637",
"sign": "LmhUnkw5j0pMiimsG8rKwdNNZGvXH5MpSmD6mdHZwq1SQwuK5BohmdEoqKB/jkMk28o3da4Cxh6Q+tW97+yTCemRrF+dMaHA73rpOeUuujKQl/UcFvJuMhfLBa2tp09L71NzoBqpPD6aXf37mYAz8E1HmERwFPpac5FVxIYanHG8cqmMLJYsVmHTSxWavgWU03ys9UczBePkBiR8sl2FSOhFABB0wAP28lswrV/ABS68IsLKtyd1fyI3GBfSbIK5nDEEnlE+EdElFdLs9taAxJImeVF1x4eT47+bkPJ2qS8z3K8QGzKLF3W+8SiRZGfSwDTsLKH+2Vycvy5auRl+ag=="
}
}Response Data Description
| Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique). |
| orderNo | String | Platform order number. |
| sign | String | Signature. |
Disbursement Query
Description:
- Query disbursement order.
URL: /php/pay/query
Parameters:
| Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtain from backend, must match the business ID according to the currency in the URL). |
| orderId | Yes | String | Merchant order number. |
| orderNo | No | String | Platform order number (faster response). |
| sign | Yes | String | Signature. |
request
{
"appId": 1000,
"orderId": "M1234567111",
"orderNo": "3022111516571436",
"sign": "ZxkVZL+GAyv0VhvWn4IvuYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}response — Order Failed
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M1234567111",
"orderNo": "3022111516571436",
"amount": "100000.00",
"fee": "0.00",
"status": 3,
"errorMsg": "Đơn hàng không tồn tại",
"sign": "KKuvCl0SuNANJs+l2ogDaJm8pmV+Hi+Xa7q27vJ6D1Ehs4aOp13kRbITfJAhczh3T81BE9qwHeJaYwf+r0EypKM9TL6pMwfG8Az4gRy1D57wiUaVjl2PWcvbEqrn1hL0b+btkjvAM9I+CcSv+wuOW3/uku17Ws3FhgJLj9sFsQUBAPjDO+758VnwBytCOLBmljLBXyKgNgpmFQ1/DNkqWl0UNzyLK45Zw3yf5NiwhEFbvW0jlOWlfu/ql4hluISUQG573jEoFCBEnQLb2tQoRZj1QYNRCXPf5lbej0vzqbEwvR9h+ZOf255t1MocJkdIe463DTV5U3KZdVT87HMagw=="
}
}response — Order Successful
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M1234567112",
"orderNo": "3022111517401574",
"amount": "100000.00",
"fee": "1003.00",
"status": 2,
"payTime": "2024-03-01 23:59:59",
"sign": "khPtOmGq+cpKX0HFAI/lbP0dx4oVyNAnL5oLsdmhDJdASlQm0yg5I3o+MhImYggEsL6c2bo5fP29t54OZFqSdQDfIuNDvGbAMAr4mRBxc0hoHLkBLyyagfVPBLyQA1JY8XV3ZL4ySzQ3ZQnMCfrh2K39ueUuz6HpZ03Hj0KYijVRCXAZaio/L5jfLBT12QXmvIfAHa8s/k9flhK05ENHPep3zjj/MZGOEaX7jkEJLfjK0duypDCa61BRQjM+oePOdVsgleIl1Yf98UAxMDZ/A3912KFHEb+/jvmdnulNbiJFyuT1fEe+j2teUgw3vFsZAtwNWAgxhC7UO+N0Q5z4EA=="
}
}Response Data Description
| Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique). |
| orderNo | String | Platform order number. |
| amount | String | Transaction amount. |
| fee | String | Transaction fee. |
| status | Integer | Status (0 Not Started, 1 Processing, 2 Success (final), 3 Failed (final), -1 Exception Pending Confirmation). |
| payTime | String | Payment success time (available when status=2) (Philippines time), format: yyyy-MM-dd HH:mm:ss. |
| errorMsg | String | Reason for payment failure (available when status=3). |
| sign | String | Signature. |
Payment Methods
| Currency | Payment Type (accountType) | Payment Code (bankCode) | Limit | Status | Description |
| PHP | EWALLET | GCASH | 1-50000 | Available | GCash Wallet |
| PHP | EWALLET | COINS | 1-50000 | Available | Coins Wallet |
| PHP | EWALLET | PAYMAYA | 1-50000 | Available | PayMaya Wallet |
| PHP | EWALLET | GRABPAY | 1-50000 | Available | GrabPay Wallet |
| PHP | EWALLET | SHOPEE | 1-50000 | Available | ShopeePay Wallet |
| PHP | EWALLET | OMNIPAY | 1-50000 | Available | OmniPay Wallet |
| PHP | BANK_ACCOUNT | ABP | 1-50000 | Available | AllBank Inc. |
| PHP | BANK_ACCOUNT | ALIP | 1-50000 | Available | Alipay Philippines Inc |
| PHP | BANK_ACCOUNT | AUB | 1-50000 | Available | Asia United Bank |
| PHP | BANK_ACCOUNT | BDO | 1-50000 | Available | Banco de Oro |
| PHP | BANK_ACCOUNT | BMB | 1-50000 | Available | Bangko Mabuhay |
| PHP | BANK_ACCOUNT | BOC | 1-50000 | Available | Bank Of Commerce |
| PHP | BANK_ACCOUNT | BPI | 1-50000 | Available | Bank of the Philippine Islands |
| PHP | BANK_ACCOUNT | BPIDB | 1-50000 | Available | BPI Direct BanKO, Inc., A Savings Bank |
| PHP | BANK_ACCOUNT | BRB | 1-50000 | Available | Binangonan Rural Bank (BRBDigital) |
| PHP | BANK_ACCOUNT | CBC | 1-50000 | Available | China Banking Corporation(China Bank) |
| PHP | BANK_ACCOUNT | CBS | 1-50000 | Available | China Bank Savings, Inc |
| PHP | BANK_ACCOUNT | CCI | 1-50000 | Available | CIS BAYAD CENTER INC |
| PHP | BANK_ACCOUNT | CEBRUR | 1-50000 | Available | Cebuana Lhuillier Rural Bank, Inc. |
| PHP | BANK_ACCOUNT | CIMB | 1-50000 | Available | CIMB Bank Philippines, Inc. |
| PHP | BANK_ACCOUNT | CMG | 1-50000 | Available | CAMALIG BANK |
| PHP | BANK_ACCOUNT | CRB | 1-50000 | Available | COMMUNITY RURAL BANK OF ROMBLON, INC |
| PHP | BANK_ACCOUNT | CRD | 1-50000 | Available | CARD Bank |
| PHP | BANK_ACCOUNT | CSB | 1-50000 | Available | Citystate Savings Bank |
| PHP | BANK_ACCOUNT | CSI | 1-50000 | Available | CARD SME BANK INC |
| PHP | BANK_ACCOUNT | CTBC | 1-50000 | Available | Ctbc Bank (Philippines) Corp. |
| PHP | BANK_ACCOUNT | DBI | 1-50000 | Available | Dungganon Bank |
| PHP | BANK_ACCOUNT | DBP | 1-50000 | Available | Development Bank of the Philippines |
| PHP | BANK_ACCOUNT | DCI | 1-50000 | Available | DUMAGUETE CITY DEVELOPMENT BANK, INC. |
| PHP | BANK_ACCOUNT | DCP | 1-50000 | Available | DCPay Philippines Inc. |
| PHP | BANK_ACCOUNT | DOP | 1-50000 | Available | DEVT. BANK OF THE PHILIPPINES |
| PHP | BANK_ACCOUNT | EQB | 1-50000 | Available | Equicom Savings Bank |
| PHP | BANK_ACCOUNT | EWB | 1-50000 | Available | East-West Banking Corporation |
| PHP | BANK_ACCOUNT | EWR | 1-50000 | Available | East West Rural Bank (Green Bank) |
| PHP | BANK_ACCOUNT | GTB | 1-50000 | Available | GoTyme Bank |
| PHP | BANK_ACCOUNT | IBI | 1-50000 | Available | ISLA Bank |
| PHP | BANK_ACCOUNT | ING | 1-50000 | Available | ING Bank N.V. |
| PHP | BANK_ACCOUNT | JPM | 1-50000 | Available | JP Morgan Chase Bank, N.A. |
| PHP | BANK_ACCOUNT | LBP | 1-50000 | Available | Land Bank of the Philippines |
| PHP | BANK_ACCOUNT | LSB | 1-50000 | Available | LEGAZPI SAVINGS BANK INC |
| PHP | BANK_ACCOUNT | LUL | 1-50000 | Available | LULU FINANCIAL SERVICES (PHILS), INC. |
| PHP | BANK_ACCOUNT | MBP | 1-50000 | Available | Maybank Philippines |
| PHP | BANK_ACCOUNT | MCC | 1-50000 | Available | MINDANAO CONSOLIDATED COOPERATIVE |
| PHP | BANK_ACCOUNT | MET | 1-50000 | Available | Metrobank |
| PHP | BANK_ACCOUNT | MSB | 1-50000 | Available | Malayan Bank |
| PHP | BANK_ACCOUNT | ONB | 1-50000 | Available | One Network Bank |
| PHP | BANK_ACCOUNT | OWN | 1-50000 | Available | ownbank |
| PHP | BANK_ACCOUNT | PAP | 1-50000 | Available | PalawanPay |
| PHP | BANK_ACCOUNT | PAR | 1-50000 | Available | Partner Rural Bank(Cotabato) Inc. |
| PHP | BANK_ACCOUNT | PBB | 1-50000 | Available | Philippine Business Bank |
| PHP | BANK_ACCOUNT | PBCOM | 1-50000 | Available | Philippine Bank of Communications |
| PHP | BANK_ACCOUNT | PNB | 1-50000 | Available | Philippine National Bank |
| PHP | BANK_ACCOUNT | PNS | 1-50000 | Available | PNB Savings Bank |
| PHP | BANK_ACCOUNT | PRB | 1-50000 | Available | Producers Bank |
| PHP | BANK_ACCOUNT | PSB | 1-50000 | Available | Philippine Savings Bank |
| PHP | BANK_ACCOUNT | PTC | 1-50000 | Available | Philippine Trust Company |
| PHP | BANK_ACCOUNT | PVB | 1-50000 | Available | Philippine Veterans Bank |
| PHP | BANK_ACCOUNT | QCB | 1-50000 | Available | Queen City Development Bank, Inc. |
| PHP | BANK_ACCOUNT | QRB | 1-50000 | Available | Quezon Capital Rural Bank |
| PHP | BANK_ACCOUNT | RBG | 1-50000 | Available | RURAL BANK OF GUINOBATAN, INC. |
| PHP | BANK_ACCOUNT | RCBC | 1-50000 | Available | Rizal Commercial Banking Corp. (RCBC) |
| PHP | BANK_ACCOUNT | RSB | 1-50000 | Available | Robinsons Bank |
| PHP | BANK_ACCOUNT | RSBI | 1-50000 | Available | Rcbc Savings Bank Inc. |
| PHP | BANK_ACCOUNT | SBA | 1-50000 | Available | Sterling Bank Of Asia |
| PHP | BANK_ACCOUNT | SBC | 1-50000 | Available | Security Bank |
| PHP | BANK_ACCOUNT | SEB | 1-50000 | Available | SEABANK PH |
| PHP | BANK_ACCOUNT | SPY | 1-50000 | Available | Starpay Corporation |
| PHP | BANK_ACCOUNT | SSB | 1-50000 | Available | Sun Savings Bank |
| PHP | BANK_ACCOUNT | TSB | 1-50000 | Available | THE STANDARD CHARTERED BANK |
| PHP | BANK_ACCOUNT | TYC | 1-50000 | Available | Tayocash |
| PHP | BANK_ACCOUNT | UBP | 1-50000 | Available | Union Bank Of The Philippines |
| PHP | BANK_ACCOUNT | UCBSB | 1-50000 | Available | UCBP Savings bank |
| PHP | BANK_ACCOUNT | UCPB | 1-50000 | Available | United Coconut Planters Bank (UCPB) |
| PHP | BANK_ACCOUNT | USS | 1-50000 | Available | USSC Money Services |
| PHP | BANK_ACCOUNT | WDB | 1-50000 | Available | Wealth Development Bank |
| PHP | BANK_ACCOUNT | YUANSB | 1-50000 | Available | Yuanta Savings Bank |
| PHP | BANK_ACCOUNT | ZTI | 1-50000 | Available | ZYBI TECH, INC. |