查询支付状态
请求方式和路径
POST /payin/v1/getPaymentStatus
请求头
| 字段名 | 类型 | 必传 | 描述 |
|---|
| content-type | string | 是 | application/json |
| x-api-key | string | 是 | Paydify提供,跟appId相同 |
| x-api-timestamp | string | 是 | 时间戳,单位毫秒 |
| x-api-signature | string | 是 | 签名,具体参看签名算法 |
请求体
| 字段名 | 类型 | 必传 | 描述 |
|---|
| mchTxnId | string | 否 | 商户侧订单ID,mchTxnId 或 txnId 不能同时为空 |
| txnId | string | 否 | Paydify返回的订单ID,支持逗号分隔的批量查询(如 P1,P2,P3),单字段最长 500 字符。mchTxnId 或 txnId 不能同时为空。同时传入 txnId 和 mchTxnId 时优先使用 txnId |
| merchantId | string | 否 | 订单归属商户 ID(子商户)。合作伙伴(Partner)凭据代发时必填;商户自有凭据可不传,默认归属凭据所属商户。最长 64 字符 |
| merchantAppId | string | 否 | 归属商户下的应用 ID,用于归属商户存在多个已授权应用时消歧。凭据覆盖该商户多个应用时必填;仅一个授权应用时可不传,系统自动匹配。最长 64 字符 |
响应头参数
| 字段名 | 类型 | 必传 | 描述 |
|---|
| x-api-key | string | 是 | Paydify提供,跟appId相同 |
| x-api-timestamp | string | 是 | 时间戳,单位毫秒 |
| x-api-signature | string | 是 | 签名,具体参看签名算法 |
返回值
| 字段名 | 类型 | 描述 |
|---|
| code | string | 响应码,SYS_SUCCESS表示成功 |
| message | string | 响应消息 |
| messageDetail | string | 响应消息详情 |
| success | boolean | 是否成功 |
| data[i].txnId | string | Paydify侧的订单ID |
| data[i].mchTxnId | string | 商户侧的订单ID |
| data[i].txnHash | string | 链上的交易hash |
| data[i].txnAmount | string | 订单金额,法币订单返回法币金额(如 "100" USD),加密订单返回加密金额(如 "100" USDT) |
| data[i].orderCurrency | string | 订单币种 |
| data[i].paidAmount | string | 实际金额,假如币种currency是USDT,则1.23表示1.23USDT |
| data[i].mchReceivedAmount | string | 商户应该收到的金额,假如币种currency是USDT,则1.23表示1.23USDT |
| data[i].settlementCurrency | string | 商户结算币种。加密结算为 USDT/USDC,法币结算为 USD |
| data[i].mchFee | string | Paydify收取的手续费,假如币种currency是USDT,则0.23表示0.23USDT |
| data[i].mchFeeRate | string | Paydify收取的手续费费率,1表示1% |
| data[i].currency | string | 支付币种 |
| data[i].gasFee | string | 上链的Gas费 |
| data[i].gasFeeCurrency | string | Gas费币种 |
| data[i].payMethod1 | string | 支付使用的钱包,枚举值参看支持的链和币种 |
| data[i].payMethod2 | string | 支付使用的链,枚举值参看支持的链和币种 |
| data[i].appId | string | Paydify提供 |
| data[i].state | string | 支付状态,枚举值参看支付状态 |
| data[i].refundType | string | 退款标识,注意跟退款状态区分 |
| data[i].mchExtInfo | string | 商户扩展信息,JSON字符串 |
| data[i].errorMsg | string | 支付失败原因说明 |
| data[i].failType | string | 支付失败类型,仅 state = FAILED 时有值。枚举:TIMEOUT(超时关单)/ PAYFAIL(渠道侧支付失败) |
| data[i].envType | string | appId 标签,枚举:LIVE / TEST |
| data[i].fromAddress | string | 付款地址 |
| data[i].checkoutMode | string | 收银台模式,可选值:MERCHANT(商户下发支付金额)、CUSTOMER(顾客输入支付金额) |
| data[i].successReturnUrl | string | 创建订单时设置的支付成功跳转地址 |
| data[i].failReturnUrl | string | 创建订单时设置的支付失败跳转地址 |
| data[i].pendingReturnUrl | string | 创建订单时设置的支付中跳转地址 |
| data[i].paidTime | string | 支付成功的时间戳,13 位毫秒字符串。只有支付成功才有值 |
| data[i].failedTime | string | 支付失败的时间戳,13 位毫秒字符串。只有支付失败/超时才有值 |
| data[i].expiredTime | string | 预计支付超时的时间戳,13 位毫秒字符串 |
| data[i].createdTime | string | 支付发起的时间戳,13 位毫秒字符串 |
请求示例
# 请求
# 成功的返回值
{
"code": "SYS_SUCCESS",
"message": null,
"messageDetail": null,
"data": [{
"txnId": "2209141130105863014",
"mchTxnId": "220914xxx",
"state": "PENDING",
"checkoutMode": "MERCHANT",
"envType": "LIVE",
"errorMsg": "",
"paidTime": "1756725871000",
"failedTime": "0",
"expiredTime": "1756729471000",
"createdTime": "1756697092000"
}],
"success": true
}
# 失败的返回值
{
"code": "SYS_ERROR",
"message": "System error",
"messageDetail": "Error details",
"data": null,
"success": false
}