1688 order payment methods API
Cette nouvelle page est actuellement disponible en anglais.
Query the payment channels currently available for one native 1688 buyer order, primarily to help developers diagnose KJB (Cross-border Pay) eligibility. This is a read-only query, separate from generating a KJB cashier link or submitting payment. It does not change orders, cancel them, confirm payment, or record procurement GMV.
Request and prerequisites
- Base URL:
https://api.hiobuy.com - Unified endpoint:
POST /v1/orders/payment-methods; requireschannel: "1688". - Shortcut:
POST /v1/orders/1688/payment-methods;channelis optional, but must be1688if supplied. - Use a live
hio_live_*key withorder:read, enabled 1688 plan access, and valid 1688 buyer authorization. - The authorized user must be the order’s buyer main account. Vendor error
500_2indicates no permission; check the authorized buyer and whether it is the main account. - Gateway handles the upstream access token, signing and timestamp. Do not send marketplace credentials in this request.
- Successful HTTP requests cost 1 shared daily billable unit, not one separate allowance per marketplace.
curl -X POST 'https://api.hiobuy.com/v1/orders/payment-methods' \
-H 'Authorization: Bearer YOUR_HIOBUY_LIVE_KEY' \
-H 'Content-Type: application/json' \
-d '{"channel":"1688","order_id":"239695213738498520"}'| Field | Required | Meaning |
|---|---|---|
channel | Unified only | Currently only 1688. Taobao/Weidian are unsupported. |
order_id | Yes | One native 1688 order ID as a decimal string, not a JSON number or warehouse procurement ID. Positive, no leading zeros, at most 9223372036854775807. |
response_format | No | standard (default) or upstream. |
Standard response
The following is illustrative, not a real customer order or a guarantee that KJB is available.
{
"channel": "1688",
"success": true,
"order_id": "239695213738498520",
"channels": [
{
"code": 1,
"name": "支付宝"
},
{
"code": 20,
"name": "跨境宝"
}
],
"payment_amount": {
"amount": 32120,
"currency": "CNY"
},
"payment_deadline": "2018-11-04 14:00:45",
"monetary_unit": "CNY_minor",
"request_id": "req_example"
}| Field | Meaning |
|---|---|
success | Whether the query succeeded. Never evidence of payment or settlement. |
channels[] | Current payment channel codes and names from 1688. Names are not translated; unknown future codes are preserved. A successful query can return an empty list. |
payment_amount.amount | Upstream payFee, in CNY fen: 32120 = CNY 321.20. Null on business failure. |
payment_deadline | Upstream timeout text unchanged, or null if absent/on failure. No timezone is provided by this contract; do not assume UTC. |
error_code, error_message | Vendor business error when returned. |
request_id | Also returned in x-request-id; include it in support requests. |
Payment channel codes
These are 1688 vendor codes, not values to pass directly as HioBuy pay_channel. Names below follow the supplied upstream contract.
| Code | Vendor name |
|---|---|
| 1 | 支付宝 |
| 2 | 网商银行信任付 |
| 3 | 诚e赊 |
| 4 | 对公转账 |
| 5 | 赊销宝 |
| 6 | 电子承兑票据 |
| 7 | 账期支付 |
| 8 | 合并支付渠道 |
| 9 | 无打款 |
| 10 | 零售通赊购 |
| 12 | 声明付款 |
| 13 | 支付平台 |
| 14 | 网商电子银行承兑汇票 |
| 15 | 银行转账 |
| 16 | 跨境宝 |
| 17 | 红包 |
| 20 | 跨境宝 |
| 35 | 网商银行跨境直采 |
Codes 16 and 20 are listed as KJB / 跨境宝. Do not treat 17 (red envelope) or 35 (a separate bank cross-border procurement product) as KJB. Preserve the actual returned code and name rather than translating unknown codes into another method.
Troubleshooting KJB eligibility
- Query the exact unpaid native order using the same authorized buyer main account used for that order.
- Check
successfirst. For500_2, correct buyer authorization/main-account access before interpreting channels. - When a successful query includes
16or20, try the KJB payment-link API for that order. Query results do not guarantee that link generation or checkout will succeed; eligibility can change. - If a successful query lacks KJB or returns no channels, this query has not reported KJB as available for that order at that moment. Check account/order eligibility with 1688/WorldFirst; do not infer that HioBuy’s payment-link integration is broken.
- An empty
pay_channelsin order detail is not a replacement for this dedicated query. Keep the query result, payment-link result and request IDs for support.
This API cannot determine whether activation will make an existing order eligible or whether a new order is necessary. Do not automatically cancel orders based only on missing channels or a failed query. See the official WorldFirst KJB activation guide .
Errors and upstream format
Vendor business rejection returns HTTP 200 with success: false. For example:
{
"channel": "1688",
"success": false,
"order_id": "239695213738498520",
"channels": [],
"payment_amount": null,
"payment_deadline": null,
"error_code": "500_2",
"error_message": "没有权限获取该订单可支付方式。",
"monetary_unit": "CNY_minor",
"request_id": "req_example"
}| HTTP | Meaning |
|---|---|
| 400 | Invalid input, unsupported channel, or SANDBOX_CAPABILITY_UNAVAILABLE. |
| 401 | Invalid API key or missing buyer channel authorization. |
| 403 | Missing order:read scope. |
| 429 | Plan/channel disabled, quota exhausted, or rate limited. |
| 502 | Upstream transport/JSON failure, malformed standard response, mismatched order ID or imprecise numeric values. |
Set response_format: "upstream" for the upstream response envelope. It contains upstream_api: "com.alibaba.trade/alibaba.trade.payWay.query" and the vendor payload under upstream, retaining success, errorCode, errorMsg, and resultList.channels/orderId/payFee/timeout. Check upstream.success, not just HTTP status. Unsafe integer JSON tokens are preserved as exact strings, including large order IDs; payFee remains in fen. Standard format rejects unsafe amount/channel-code integers instead of rounding them.
Fulfillment modes, Sandbox and side effects
In both self and warehouse procurement modes, Gateway queries 1688 directly with the app/mode’s selected buyer token. Only native 1688 order IDs are accepted; this is not a warehouse procurement payment operation.
Sandbox keys return HTTP 400 SANDBOX_CAPABILITY_UNAVAILABLE. Sandbox does not simulate real payment eligibility or access live order data.
There is no payment idempotency replay: repeated queries read current upstream information. The operation writes no order state or payment/GMV records; normal authentication, quota accounting and request logging still apply.
OpenAPI: GET https://api.hiobuy.com/openapi.json.
Get Support
Need integration help? Contact Developer Support at support@hiobuy.com · Response within 1–2 business days