Create pay-in order (own checkout)
For merchants with their own payment page. The platform returns the receiving accounts assigned to the order, and you show them to the customer. Then:
- the customer says they've paid → call Mark as paid;
- the customer gives up → call Cancel order.
When the money arrives you get the usual callback.
POST
/api/open/order/createBuyOrder2Full URL = your API base URL + this path. The base URL is shown in the merchant console under Developers → API & callbacks.
Request parameters
Same as Create pay-in order (hosted checkout) (redirectUrl and hideUsdt are not used).
Response
| Field | Type | Description |
|---|---|---|
order.orderNo | string | Platform order number |
order.merchantOrderNo | string | Your order number |
order.totalAmount | number | Fiat amount |
order.usdt | number | USDT amount (before fees) |
order.currency | string | Currency code |
order.orderTime | string | Order time |
cards[] | array | Receiving accounts for this order; the customer pays to one of them |
cards[].cardId | int | Account ID, needed for Mark as paid |
cards[].paymentType | int | Payment method code |
cards[].realName | string | Account holder name |
cards[].bankName | string | Bank name |
cards[].bankBranch | string | Bank branch |
cards[].cardNo | string | Bank card / account number |
cards[].payAccount | string | Payee account: Alipay / WeChat account, or e-wallet account (MoMo, TrueMoney, PIX, …; card number is empty for these) |
cards[].payQrCode | string | QR code image or payment link (some methods only, may be empty; when empty, show realName + payAccount so the customer can transfer to the account) |
json
{
"code": 0,
"message": "success",
"data": {
"order": {
"orderTime": "2026-10-13 12:00:00",
"orderNo": "PI1845290017342758912",
"totalAmount": 100,
"usdt": 13.7,
"merchantOrderNo": "A20261013001",
"currency": "CNY"
},
"cards": [
{ "cardId": 1024, "paymentType": 1, "payQrCode": "", "payAccount": "", "realName": "Li Si", "bankName": "ICBC", "bankBranch": "Beijing Haidian", "cardNo": "6222000000000000" }
]
}
}WARNING
Show the receiving accounts only to this order's customer. Remind them to pay from their own account in the customerName given at order creation, and to pay exactly the order amount.
Common errors
Same as for the hosted checkout; in addition, a payment provider failure returns 400.