跳到主要内容

订单状态查询接口

网关地址

https://sandbox.j-pay.net/pay/trade/query

请求参数

参数名称类型是否必填参与签名参数说明
pay_memberidString平台分配商户号
pay_orderidString上送订单号唯一, 字符长度 20
transaction_idString平台订单号
pay_md5signString请看 MD5 签名字段格式

查询结果通知

参数名称类型是否必填参数说明
memberidString商户 ID
orderidString商户订单号
amountString提交的订单金额
true_amountString买家实际付款的金额
time_endString支付成功时间
transaction_idString平台订单号
returncodeString“00” 为成功
trade_stateStringNOTPAY : 未支付
PENDING : 处理中
FAIL : 失败
SUCCESS : 已支付
REFUND : 退款
signString请看验证签名字段格式

请求示例

import { md5 } from "js-md5";
import axios from "axios";

const KEY = "psaf5haxkfp3x66tra1nonvhkq4mpzpr";
const MEMBER_ID = "10005";
let query = {
pay_memberid: MEMBER_ID,
pay_orderid: "O20240723141428",
};
let signData = [];
Object.keys(query)
.sort()
.forEach((key) => signData.push(`${key}=${query[key]}`));
signData.push(`key=${KEY}`);
Object.assign(query, {
pay_md5sign: md5(signData.join("&")).toUpperCase(),
});

axios
.request({
url: "https://sandbox.j-pay.net/pay/trade/query",
method: "post",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
data: query,
})
.then(({ data }) => {
console.log("success", data);
})
.catch((error) => {
console.log("error", error);
});

返回示例

{
memberid: '10005',
orderid: 'O20240723141428',
amount: '1.80',
true_amount: '1.80',
true_currency: 'USD',
time_end: '2024-07-18 03:23:19',
transaction_id: '966782078392',
returncode: '00',
trade_state: 'SUCCESS',
sign: '0DBA5E19B1785D8C682FE1BFAC37B100'
}