Order Search
Request address
Sandbox : https://sandbox.j-pay.net/pay/trade/query
Request parameters
Parameter Name | Type | Required(Y or N) | Sign(Y or N) | Parameter Description |
---|---|---|---|---|
pay_memberid | String | Y | Y | Merchant ID |
pay_orderid | String | Y | Y | Merchant order number |
transaction_id | String | N | N | Transaction order number |
pay_md5sign | String | Y | N | See MD5 signature example |
Order query return parameters
Parameter Name | Type | Required(Y or N) | Parameter Description |
---|---|---|---|
memberid | String | Y | Merchant ID |
orderid | String | Y | Merchant order number |
amount | String | Y | Submitted order amount |
true_amount | String | Y | The amount actually paid by the buyer |
time_end | String | Y | Payment success time |
transaction_id | String | Y | Transaction order number |
returncode | String | Y | "00": success |
trade_state | String | Y | NOTPAY : unpaid PENDING : processing FAIL : failed SUCCESS : Paid REFUND : Refund |
sign | String | N | See MD5 signature example |
Example Request
- Javascript
- Php
- Python
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);
});
$url = 'https://sandbox.j-pay.net/pay/trade/query';
$key = 'psaf5haxkfp3x66tra1nonvhkq4mpzpr';
$memberId = '10005';
$data = [
'pay_memberid' => $memberId,
'pay_orderid' => 'O20240723141428',
];
ksort($data);
$data['key'] = $key;
$sign = strtoupper(md5(http_build_query($data)));
$data = array_merge($data, [
'pay_md5sign' => $sign,
]);
$header = [
'Content-Type: application/x-www-form-urlencoded',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
$data = curl_exec($ch);
if (curl_error($ch)) {
echo 'Curl error: ' . curl_error($ch); exit;
}
curl_close($ch);
var_dump($data);
import hashlib
import requests
url = 'https://sandbox.j-pay.net/pay/trade/query'
key = 'psaf5haxkfp3x66tra1nonvhkq4mpzpr'
params = {
'pay_memberid': '10005',
'pay_orderid': 'O20240723141428'
}
strParam = ''
for p in sorted(params):
strParam = strParam + str(p) + "=" + str(params[p]) + '&'
strParam = strParam + 'key' + '=' + key
parmStr = strParam.encode("utf-8")
m = hashlib.md5()
m.update(parmStr)
params['pay_md5sign'] = m.hexdigest().upper()
res = requests.post(url = url, data = params)
print('response:' + res.text)
返回示例
- Success
- 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'
}
{ msg: 'message', status: 'error' }