H Honor
EN
DiDi finanzas

Documentation

Provides integration guides, API documentation, testing instructions and other information needed throughout the integration process

2.5 Payment Order Query

2.5 Payment Order Information Query

  • Path: /external/order/queryByPartnerOrderId/v1

  • Method: POST

  • API Description: This is the API for partner to query the payment order information, especially the order status.

  • Usage:Sometimes, the payment order information query API might return the error due to the some unpredictable reasons. The partner should not regard the error of query API as the payment order result. The partner should use the specific result returned in query API as the payment order result.

  • Supplementary Instruction: Although the DiDi will send the Webhook to the partner, the Query API is mandatory. This is a fallback (backstop) strategy for the partner to retrieve the order status in case the Webhook delivered unsuccessfully.

Request Message

Request Headers

Field Name Field Description Parameter Value Present (M/O/C) Remarks
Content-Type Content Type application/json M
Authorization This is the partner’s identity authentication value. Bearer {ACCESS-TOKEN} M For details, please refer to "Part II DiDi BNPL Partner Configuration&Env. Setup".
The partner can get the ACCESS-TOKEN value from the Token API call.
When the access expires, call the Token API again to get the new access token.
X-Paylater-Request-Id uuid uuid.
Example: 550e8400-e29b-41d4-a716-446655440000
M Mandatory UUID v4 string. DiDi will reject requests with invalid format.

Request Body

Field Name Type Field Description Present (M/O/C) Remarks
partnerOrderId String Merchant-side payment document Id M Idempotent key
Merchant payment serial number ID

Request Example

{
    "partnerOrderId": "1e1e51a8-8d38-11ef-b32d-ca3c6358d263"
}

Response Message

Response Header

Field Name Field Description Parameter Value Present (M/O/C) Remarks
Content-Type Content Type application/json M

Response Body

Field Name Type Field Description Present (M/O/C) Remarks
code String Return Code M Enumeration Value:
SUCCESS
FAILED
RATE_LIMIT
INVALID_TOKEN
message String Response Code Description M
data Object Payment Order Data O
orderId String Order id M DiDi Paga Después-side generation
partnerOrderId String Merchant-side payment document ID M
partnerUid String Merchant-side user ID M
applyLoanId String Apply for loan id O Loan ID in the DiDi Paga Después side credit core system
partnerOrderAmount Long Order amount M The actual payment amount multiplied by 100; this amount is the final amount after applying the merchant’s discount.
The amount unit is cents. For example, if it's 99.99 pesos, the value here should be 9999.
currency String Currency M ISO 4217 standard
Mexico MXN
orderStatus String Order Status M Enumeration:
INIT-Initialize PENDING-PENDING PAYING-PAYING PAID-PAID CANCELED-CANCELED EXPIRED-EXPIRED DENIED-Rejected
rejectCode String Reject Code O Value Existed in DENIED State
Enumeration:
GeneralError–Internal error
PaylaterRuleRejected–Rejected by Paylater rules
RiskRuleRejected–Rejected by risk control rules
OverdueRepayment–The user has overdue payments
CreditNotEnough–Insufficient credit limit
PaylaterRuleDissatisfy–Does not satisfy Paylater rule requirements
RiskControlRejected–Rejected by risk control
TradePayFail-Failed to spend
rejectMsg String Rejection reason O Value Existed in DENIED State
redirectUrl String Redirect URL M After the payment operation is completed on the DiDi Paga Después page, regardless of success or failure, this URL will be parsed and returned.
This is mainly a page-to-page interaction.
It will not verify whether the URL can be redirected.
redirectAppLink String App redirect link M App invocation: The partner must include the redirectAppLink in the payment request.
fuid Long DiDi Paga Después financial member domain user ID O
metadata String Metadata Information O DiDi Paga Después will provide this information via the query and order callback
JSON format
paymentEntryUrl String url redirecting to DiDi Paga Después H5 payment page O
expireTime String Expiration time of this order O pattern:yyyy-MM-dd'T'HH:mm:ss.SSSXXX
e.g., '2025-12-08T01:11:33.000+08:00‘. Timezone offset is mandatory.
finishTime String Completion time O pattern:yyyy-MM-dd'T'HH:mm:ss.SSSXXX
e.g., '2025-12-08T01:11:33.000+08:00‘. Timezone offset is mandatory.
createTime String Order creation time O pattern:yyyy-MM-dd'T'HH:mm:ss.SSSXXX
e.g., '2025-12-08T01:11:33.000+08:00‘. Timezone offset is mandatory.
updateTime String Order status latest update time O pattern:yyyy-MM-dd'T'HH:mm:ss.SSSXXX
e.g., '2025-12-08T01:11:33.000+08:00‘. Timezone offset is mandatory.
orderCreateTime String Merchant-side order creation time O pattern:yyyy-MM-dd'T'HH:mm:ss.SSSXXX
Time zone of Mexico City
e.g., '2025-12-08T01:11:33.000+08:00‘. Timezone offset is mandatory.
test Boolean Test sheet label O
error Object Error O
errorCode String Error code O
errorMessage String Error Code Description O

Response Example

{
    "code": "SUCCESS",
    "message": "SUCCESS",
    "data": {
        "orderId": "189d141e-8d38-11ef-b32d-ca3c6358d263",
        "partnerOrderId": "1e1e51a8-8d38-11ef-b32d-ca3c6358d263",
        "partnerUid": "01213121131",
        "partnerOrderAmount": 5000,
        "currency": "MXN",
        "orderStatus": "PENDING",
        "redirectUrl": "<https://www.merchant.com/h5/orderInfo/index.html>",
        "redirectAppLink": "clientA://one/webpage?weburl=https%3A%2F%2Fapi.merchant-a.com%2Fcheckout%2Fresult",
        "fuid": 1231413141,
        "metadata": "{}",
        "paymentEntryUrl": "<https://pay.didiglobal.com/global-bnpl/kyc/?credit_type=full&fuid=1231413141&orderId=189d141e-8d38-11ef-b32d-ca3c6358d263>",
        "expireTime": "2026-10-14T18:26:00.000-06:00",
        "finishTime": null,
        "createTime": "2026-10-14T02:30:39.000-06:00",
        "updateTime": "2026-10-14T02:30:39.000-06:00",
        "orderCreateTime": "2026-10-14T02:30:39.000-06:00",
        "test": true
    },
    "error": null
}
Copied successfully