Withdrawal interface — Cambodia USD
Use the merchant ID and merchant API key issued by EOOPAY. Each product must be enabled for your merchant account before use. Submit the product number assigned to you.
These products support payments in Cambodia and are denominated and accounted for in USD, with at most two decimal places. 100.00 means USD 100, not KHR and not cents.
Per-order limits depend on the product configuration enabled for your merchant account and request validation.
Product numbers
| payment_code | Product name | Payment method |
|---|---|---|
| 12727 | USD-PAYOUT-ACL | ACL |
| 12728 | USD-PAYOUT-WING | WING |
| 12729 | USD-PAYOUT-ABA | ABA |
| 12730 | USD-PAYOUT-BAKONG | BAKONG |
POST https://{request-address}/Payment_AddOrderContent-Type: application/x-www-form-urlencoded
Request parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| mchid | Yes | string | EOOPAY merchant ID |
| applydate | Yes | string | yyyy-MM-dd HH:mm:ss |
| out_trade_no | Yes | string | Unique merchant order number; do not submit duplicate orders |
| payment_code | Yes | string | Enabled withdrawal product number from the table above |
| money | Yes | string | Amount in USD, e.g. 50.00 |
| bankname | Yes | string | Match the selected product: ACL / WING / ABA / BAKONG |
| accountnumber | Yes | string | Valid recipient account number; send as a string to preserve leading zeros |
| accountname | Yes | string | Recipient account holder name |
| userid | Yes | string | End-user identifier in the merchant system |
| notifyurl | Yes | string | Merchant URL for asynchronous result notifications |
| pay_md5sign | Yes | string | Calculate using the existing EOOPAY merchant signing rules |
Request example
This is a parameter template, not a live order. Replace the merchant ID, account details, order number and callback URLs, then calculate the signature with your merchant key. Send the actual request as form data.
{
"mchid": "YOUR_MERCHANT_ID",
"applydate": "2026-10-20 12:00:00",
"out_trade_no": "USDPAYOUT_UNIQUE_ORDER",
"payment_code": "12729",
"money": "50.00",
"bankname": "ABA",
"accountnumber": "YOUR_RECIPIENT_ACCOUNT",
"accountname": "YOUR_RECIPIENT_NAME",
"userid": "YOUR_USER_ID",
"notifyurl": "https://merchant.example/payment/notify",
"pay_md5sign": "RECALCULATE_WITH_YOUR_MERCHANT_KEY"
}Response parameters and example
| Parameter | Required | Type | Description |
|---|---|---|---|
| success | Yes | boolean | true means the request was accepted, not that the withdrawal completed |
| errCode | Yes | string | 0 indicates request acceptance; inspect errMsg for errors |
| errMsg | Yes | string | Acceptance or error message; obtain final status from a callback or query |
{
"success": true,
"errCode": "0",
"errMsg": "Accepted; awaiting payment result"
}If the request times out or the final result is unavailable, query the original order before any retry to avoid duplicate withdrawals. Match the original merchant order number and do not treat acceptance as settlement.
Signing, queries and callbacks
Encryption · Deposit inquiry · Withdrawal inquiry · Deposit callback · Withdrawal callback