Skip to content

Get Order Details ​

Get order details.

Interface Address:

text
/papi/order/details

Request Method:

text
POST

Content-Type:

text
application/json

Header Parameters:

ParameterTypeRequiredDescription
X-Access-KeystringYesAPI access key ID. See API Rules for authentication
X-SignaturestringYesSignature value, Base64-encoded HMAC-SHA256 result
X-TimestampstringYesMillisecond-level Unix timestamp (13 digits)
X-NoncestringYesRandom string, 10~32 lowercase letters and digits

Body Parameters:

ParameterTypeRequiredDescription
orderNostringYesOrder number

Request Example:

json
{
  "orderNo": "MO202608101957320120006"
}

Response Parameters:

ParameterTypeDescription
codeintegerError code. See Error Codes
dataobjectReturn data
├─ merchantOrderIdstringMerchant order number
├─ transactionIdstringTransaction ID
├─ statusintegerPayment status (1-pending, 2-success, 3-failed)
├─ productNamestringProduct name
├─ amountintegerOrder amount (US cents)
├─ amountYuannumberOrder amount (USD)
├─ payMethodstringPayment method
├─ payUrlstringPayment URL
├─ payTypeintegerPayment type
├─ payIconstringPayment icon
├─ qrCodeUrlstringQR code URL
├─ descriptionstringOrder description
├─ createTimeintegerCreation time
├─ payTimeintegerPayment time
├─ paySceneintegerPayment scene
├─ productTypeintegerProduct type
├─ optTypeintegerOperation type
├─ currencystringCurrency type
├─ multiCurrencyDisplaystringMulti-currency display
├─ expiresintegerExpiration time
├─ payParamsobjectPayment parameters
├─├─ keyobjectkey
msgstringError message

Response Example:

json
{
  "code": 0,
  "data": {
    "merchantOrderId": "",
    "transactionId": "",
    "status": 0,
    "productName": "",
    "amount": 0,
    "amountYuan": 0,
    "payMethod": "",
    "payUrl": "",
    "payType": 0,
    "payIcon": "",
    "qrCodeUrl": "",
    "description": "",
    "createTime": 0,
    "payTime": 0,
    "payScene": 0,
    "productType": 0,
    "optType": 0,
    "currency": "",
    "multiCurrencyDisplay": "",
    "expires": 0,
    "payParams": {}
  },
  "msg": ""
}

Wallet payment rules ​

Wallet payment uses payCode=WALLET and providerCode=INTERNAL. Mixed payment uses the actual online channel plus an integer walletPayAmount in USD cents, greater than zero and below the calculated payable total; do not submit onlinePayAmount. Recharge orders cannot use wallet or mixed payment. On timeout or uncertain payment status, query the original order and transactions before retrying. Cancellation or switching to wallet payment requires reliable confirmation that an existing online payment is closed. Wallet deductions are returned against the original transaction when cancellation is permitted.

OpenAPI Docs