Online Payment Gateway V:20250508
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Visa & Mastercard支付服务商
Base URLs:
License: Global
Authentication
- API Key (Authorization)
- Parameter Name: Authorization, in: header.
Access Token
Request an access token
Request an access token
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/connect/token", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"appId": "string",
"secret": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/connect/token',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/connect/token");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/connect/token', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/connect/token', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/connect/token',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/connect/token
创建token开始使用我们的Api
Body parameter
{
"appId": "string",
"secret": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | AccessToken | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [AccessToken Response](#schemaaccesstoken response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Checkout Session
Checkout Sessions
Create a Payment Link
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/cashier/order", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"amount": "100.99",
"captureMethod": "auto",
"currency": "USD",
"description": "string",
"expiryTime": "14400",
"fraudMode": "N",
"frontUrl": "https://www.acqra.com",
"linkMode": "session",
"orderNo": "20220828000002",
"productInfo": [
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
],
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
},
"threeDsMode": "no、auto、standard"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/cashier/order',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/cashier/order");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/cashier/order', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/cashier/order', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/cashier/order',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/cashier/order
收银台预下单
Body parameter
{
"amount": "100.99",
"captureMethod": "auto",
"currency": "USD",
"description": "string",
"expiryTime": "14400",
"fraudMode": "N",
"frontUrl": "https://www.acqra.com",
"linkMode": "session",
"orderNo": "20220828000002",
"productInfo": [
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
],
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
},
"threeDsMode": "no、auto、standard"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | CashierPaymentOrder | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CashierPreOrderResp |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Payment Intents
Request a payment
Void a payment
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/cancel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"orderNo": "string",
"tradeNo": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/cancel',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/cancel', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/cancel', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/cancel',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/cancel
如果不再需要付款,可以在捕获之前取消授权
Body parameter
{
"orderNo": "string",
"tradeNo": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Void | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Void Response](#schemavoid response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Capture a payment
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/capture", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"captureAmount": "100.55",
"orderNo": "202308161615130001",
"tradeNo": "202308161615130001"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/capture',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/capture");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/capture', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/capture', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/capture',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/capture
捕获capture
Body parameter
{
"captureAmount": "100.55",
"orderNo": "202308161615130001",
"tradeNo": "202308161615130001"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Capture | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Capture Response](#schemacapture response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Request a payment
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/payment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"alipay": {
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
},
"alipayPlus": {
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
},
"amount": "199.68",
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"billingDesc": "string",
"card": {
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
},
"currency": "USD",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"expiryTime": "60",
"fraudMode": "Y",
"frontUrl": "https://www.xxx.com?tradeNo=xxx&orderNo=xxx&status=订单状态&language=en-US&amount=金额",
"grabPay": {
"productType": "qr-code"
},
"orderNo": "20220828000002",
"payNow": {
"productType": "qr-code"
},
"paymentMethodType": "card、payNow、paypal、wechat、upay、alipay、alipayPlus、shopeePay、applePay、googlePay",
"paypal": {
"metadata": "key-value",
"productType": "qr-code"
},
"productInfo": [
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
],
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
},
"shopeePay": {
"productType": "qr-code"
},
"threeDsData": {
"cavv": "a772a34d-d58a-4896-bf22-40b2af96eabd",
"dsTransId": "020100006afa60729412446b96732f98b3ee98a2",
"dsVersion": "2.1.0",
"eci": "05",
"xid": "05"
},
"threeDsMode": "no、auto、standard",
"upay": {
"authCode": "120061098828009406",
"productType": "qr-code",
"storeId": "P000001"
},
"wechat": {
"attach": "调用者自定义数据",
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code、pay、in-app、mini-program、h5",
"storeId": "P000001",
"subAppId": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/payment',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/payment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/payment', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/payment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/payment',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/payment
使用任何可用的付款方式创建新付款
Body parameter
{
"alipay": {
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
},
"alipayPlus": {
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
},
"amount": "199.68",
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"billingDesc": "string",
"card": {
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
},
"currency": "USD",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"expiryTime": "60",
"fraudMode": "Y",
"frontUrl": "https://www.xxx.com?tradeNo=xxx&orderNo=xxx&status=订单状态&language=en-US&amount=金额",
"grabPay": {
"productType": "qr-code"
},
"orderNo": "20220828000002",
"payNow": {
"productType": "qr-code"
},
"paymentMethodType": "card、payNow、paypal、wechat、upay、alipay、alipayPlus、shopeePay、applePay、googlePay",
"paypal": {
"metadata": "key-value",
"productType": "qr-code"
},
"productInfo": [
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
],
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
},
"shopeePay": {
"productType": "qr-code"
},
"threeDsData": {
"cavv": "a772a34d-d58a-4896-bf22-40b2af96eabd",
"dsTransId": "020100006afa60729412446b96732f98b3ee98a2",
"dsVersion": "2.1.0",
"eci": "05",
"xid": "05"
},
"threeDsMode": "no、auto、standard",
"upay": {
"authCode": "120061098828009406",
"productType": "qr-code",
"storeId": "P000001"
},
"wechat": {
"attach": "调用者自定义数据",
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code、pay、in-app、mini-program、h5",
"storeId": "P000001",
"subAppId": "string"
}
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Payment | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Payment Response](#schemapayment response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
MIT Payment 限制类接口
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/mitPayment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"amount": "100.99",
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"card": {
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
},
"currency": "USD",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"orderNo": "20220828000002"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/mitPayment',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/mitPayment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/mitPayment', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/mitPayment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/mitPayment',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/mitPayment
MIT Payment
Body parameter
{
"amount": "100.99",
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"card": {
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
},
"currency": "USD",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"orderNo": "20220828000002"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | MitPayment | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [SubscriptionPayment Response](#schemasubscriptionpayment response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
SubscriptionPayment
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/subscriptionPayment", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"amount": "100.99",
"cardNo": "4444333322221111",
"customerInitiatedReason": "RECURRING",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"expiryMonth": "12",
"expiryYear": "2027",
"orderNo": "20220828000002",
"threeDsMode": "no、auto、standard",
"transactionIdentifier": "000000000000020005060720116005061"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/subscriptionPayment',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/subscriptionPayment");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/subscriptionPayment', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/subscriptionPayment', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/subscriptionPayment',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/subscriptionPayment
订阅支付,基于首次支付获取到的token,定时扣款指令
Body parameter
{
"amount": "100.99",
"cardNo": "4444333322221111",
"customerInitiatedReason": "RECURRING",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"expiryMonth": "12",
"expiryYear": "2027",
"orderNo": "20220828000002",
"threeDsMode": "no、auto、standard",
"transactionIdentifier": "000000000000020005060720116005061"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | SubscriptionPayment | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [SubscriptionPayment Response](#schemasubscriptionpayment response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Query
Order Query
Get Payment details
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/query", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"orderNo": "202308161615130001",
"paymentMethodType": "card、payNow、wechat、upi、upay、alipay、alipayPlus、payNow、shopeePay",
"tradeNo": "202308161615130001"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/query',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/query");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/query', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/query', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/query',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/query
inquiry Requests
Body parameter
{
"orderNo": "202308161615130001",
"paymentMethodType": "card、payNow、wechat、upi、upay、alipay、alipayPlus、payNow、shopeePay",
"tradeNo": "202308161615130001"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Query | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Query Response](#schemaquery response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Get refund details
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/refundQuery", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"orderNo": "202308161615130001",
"paymentMethodType": "card、payNow、wechat、upi、upay、alipay、alipayPlus、payNow、shopeePay",
"tradeNo": "202308161615130001"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/refundQuery',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/refundQuery");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/refundQuery', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/refundQuery', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/refundQuery',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/refundQuery
inquiry Requests
Body parameter
{
"orderNo": "202308161615130001",
"paymentMethodType": "card、payNow、wechat、upi、upay、alipay、alipayPlus、payNow、shopeePay",
"tradeNo": "202308161615130001"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Query | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Refund Response](#schemarefund response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Refunds
Refund a payment
Refund a payment
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/refund", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"amount": "100.99",
"clientIp": "10.1.1.1",
"orderNo": "string",
"reason": "商品与描述不符,申请退款",
"refundNumber": "202208280000001",
"tradeNo": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/refund',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/refund");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/refund', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/refund', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/refund',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/refund
申请退款,退款请求是异步处理,如果退款成功,您可以通过订阅webhook来接收通知结果,资金将原路退回到您的信用卡或借记卡
Body parameter
{
"amount": "100.99",
"clientIp": "10.1.1.1",
"orderNo": "string",
"reason": "商品与描述不符,申请退款",
"refundNumber": "202208280000001",
"tradeNo": "string"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Refund | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Refund Response](#schemarefund response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Tracking
Tracking Manage
获取物流信息详情
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/shipping/retrieve", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"matedata": "K-V",
"orderNo": "202308161615130001",
"trackingNo": "202208290000001"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/shipping/retrieve',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/shipping/retrieve");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/shipping/retrieve', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/shipping/retrieve', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/shipping/retrieve',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/shipping/retrieve
Retrieve Tracking Details
Body parameter
{
"matedata": "K-V",
"orderNo": "202308161615130001",
"trackingNo": "202208290000001"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | [Retrieves Tracking](#schemaretrieves tracking) | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [Tracking Details Response](#schematracking details response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
单笔添加订单的物流信息
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/shipping/tracking", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"carrier": "2EBOX",
"orderNo": "202308161615130001",
"shipmentDate": "2025-06-09",
"shipmentDirection": "FORWARD",
"shippingStatus": "SHIPPED、CANCELLED、DELIVERED",
"trackingNo": "202208290000001",
"trackingNumberType": "CARRIER_PROVIDED",
"trackingUrl": "https://t.17track.net/en#nums=76708433717662"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/shipping/tracking',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/shipping/tracking");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/shipping/tracking', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/shipping/tracking', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/shipping/tracking',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/shipping/tracking
Adds tracking information for an Order.
Body parameter
{
"carrier": "2EBOX",
"orderNo": "202308161615130001",
"shipmentDate": "2025-06-09",
"shipmentDirection": "FORWARD",
"shippingStatus": "SHIPPED、CANCELLED、DELIVERED",
"trackingNo": "202208290000001",
"trackingNumberType": "CARRIER_PROVIDED",
"trackingUrl": "https://t.17track.net/en#nums=76708433717662"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Tracking | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [TrackingRsp Response](#schematrackingrsp response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
批量添加订单的物流信息
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/shipping/tracking-batch", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '[
{
"carrier": "2EBOX",
"orderNo": "202308161615130001",
"shipmentDate": "2025-06-09",
"shipmentDirection": "FORWARD",
"shippingStatus": "SHIPPED、CANCELLED、DELIVERED",
"trackingNo": "202208290000001",
"trackingNumberType": "CARRIER_PROVIDED",
"trackingUrl": "https://t.17track.net/en#nums=76708433717662"
}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/shipping/tracking-batch',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/shipping/tracking-batch");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/shipping/tracking-batch', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/shipping/tracking-batch', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/shipping/tracking-batch',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/shipping/tracking-batch
Add tracking information for multiple for Order.
Body parameter
[
{
"carrier": "2EBOX",
"orderNo": "202308161615130001",
"shipmentDate": "2025-06-09",
"shipmentDirection": "FORWARD",
"shippingStatus": "SHIPPED、CANCELLED、DELIVERED",
"trackingNo": "202208290000001",
"trackingNumberType": "CARRIER_PROVIDED",
"trackingUrl": "https://t.17track.net/en#nums=76708433717662"
}
]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Tracking | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [TrackingRsp Response](#schematrackingrsp response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
修改或取消物流信息
Code samples
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"*/*"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "http://172.19.100.136:8098/gateway/v1/shipping/tracking-modify", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const inputBody = '{
"iterms": [
{
"op": "replace",
"path": "/status",
"value": "CANCELLED"
}
],
"matedata": "K-V",
"orderNo": "202308161615130001",
"trackingNo": "202208290000001"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'API_KEY'
};
fetch('http://172.19.100.136:8098/gateway/v1/shipping/tracking-modify',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
URL obj = new URL("http://172.19.100.136:8098/gateway/v1/shipping/tracking-modify");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': '*/*',
'Authorization': 'API_KEY'
}
r = requests.post('http://172.19.100.136:8098/gateway/v1/shipping/tracking-modify', headers = headers)
print(r.json())
'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','http://172.19.100.136:8098/gateway/v1/shipping/tracking-modify', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'http://172.19.100.136:8098/gateway/v1/shipping/tracking-modify',
params: {
}, headers: headers
p JSON.parse(result)
POST /gateway/v1/shipping/tracking-modify
Updates or cancels the tracking information for a order
Body parameter
{
"iterms": [
{
"op": "replace",
"path": "/status",
"value": "CANCELLED"
}
],
"matedata": "K-V",
"orderNo": "202308161615130001",
"trackingNo": "202208290000001"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | [Update or cancel tracking information](#schemaupdate or cancel tracking information) | false | none |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | [TrackingRsp Response](#schematrackingrsp response) |
| 201 | Created | Created | None |
| 401 | Unauthorized | Unauthorized | None |
| 403 | Forbidden | Forbidden | None |
| 404 | Not Found | Not Found | None |
Schemas
AccessToken
{
"appId": "string",
"secret": "string"
}
AccessToken
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| appId | string | true | none | 平台分配应用id参数 |
| secret | string | true | none | 平台分配接入秘钥 |
AccessToken Response
{
"accessToken": "凭证串",
"expiresIn": 3600,
"respCode": "0000",
"respMsg": "详细的错误描述"
}
AccessToken Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accessToken | string | false | none | 凭证 |
| expiresIn | integer(int32) | false | none | 有效期 |
| respCode | string | true | none | 应答码 |
| respMsg | string | true | none | 应答描述 |
Address
{
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
}
Address
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| city | string | true | none | city string <= 50 characters |
| country | string | true | none | 国家代码。ISO 3166-1 alpha-2 代码大写 |
| line1 | string | true | none | line1 string <= 128 characters |
| line2 | string | false | none | line2 string <= 128 characters |
| line3 | string | false | none | line3 string <= 128 characters |
| postcode | string | true | none | postcode string <= 50 characters |
| state | string | true | none | state string <= 50 characters |
Alipay
{
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
}
Alipay
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| authCode | string | false | none | 微信支付授权码string[1, 64] |
| limitPayMethod | string | false | none | 限制支付方式string[1, 32] |
| openId | string | false | none | 微信openId[1, 64] |
| productType | string | true | none | product type |
| storeId | string | false | none | 门店编号string[1, 30] |
| subAppId | string | false | none | 微信子appId[1, 64] |
AlipayPlus
{
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
}
AlipayPlus
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| authCode | string | false | none | 微信支付授权码string[1, 64] |
| limitPayMethod | string | false | none | 限制支付方式string[1, 32] |
| openId | string | false | none | 微信openId[1, 64] |
| productType | string | true | none | 产品编码 |
| storeId | string | false | none | 门店编号string[1, 30] |
| subAppId | string | false | none | 微信子appId[1, 64] |
Billing
{
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
}
Billing
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| address | Address | true | none | 地址信息 |
| birthday | string | false | none | 生日[yyyy-MM-dd] |
| customerInitiatedReason | string | false | none | 定期支付原因 |
| string | false | none | 邮箱 string [3..255] | |
| phone | Phone | false | none | The phone number associated with the billing address |
| storedcredentials | string | false | none | 交易之间以固定的、定期的间隔处理标识 |
Browser
{
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
}
Browser
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| acceptHeader | string | false | none | 指纹标识 |
| colorDepth | string | false | none | 色彩深度 |
| javaEnable | boolean | false | none | 是否启用java |
| javascriptEnable | boolean | false | none | 是否启用javascript |
| screenHeight | string | false | none | 浏览器高度 |
| screenWidth | string | false | none | 浏览器宽度 |
| sessionId | string | false | none | 购买者会话id |
| timeZone | string | false | none | 时区 |
| userAgent | string | true | none | userAgent |
Capture
{
"captureAmount": "100.55",
"orderNo": "202308161615130001",
"tradeNo": "202308161615130001"
}
Capture
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| captureAmount | string | true | none | 捕获金额 |
| orderNo | string | false | none | 商户订单编号(orderNo和tradeNo二选一) |
| tradeNo | string | false | none | authorized交易流水号 (orderNo和tradeNo二选一) |
Capture Response
{
"amount": "100.99",
"currency": "USD",
"lastEvent": "string",
"orderNo": "20220828000002",
"orderStatus": "successed",
"respCode": "0000",
"respMsg": "描述",
"tradeNo": "589327510105956352",
"transactionTime": "string"
}
Capture Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 |
| currency | string | true | none | 币种 |
| lastEvent | string | false | none | none |
| orderNo | string | true | none | 订单编号 |
| orderStatus | string | false | none | 订单状态 |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| tradeNo | string | true | none | 平台订单号 |
| transactionTime | string | false | none | none |
Card
{
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
}
Card
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| captureMethod | string | false | none | 是否自动capture[auto、manual],default:auto |
| cardNo | string | true | none | cardNo [M,max13~max19] |
| cvc | string | false | none | 信用卡安全码 |
| expiryMonth | string | true | none | 卡到期月份的两位数字 |
| expiryYear | string | true | none | 卡到期年份的四位数字 |
| firstName | string | true | none | 名字 |
| lastName | string | true | none | 姓氏 |
CashierPaymentOrder
{
"amount": "100.99",
"captureMethod": "auto",
"currency": "USD",
"description": "string",
"expiryTime": "14400",
"fraudMode": "N",
"frontUrl": "https://www.acqra.com",
"linkMode": "session",
"orderNo": "20220828000002",
"productInfo": [
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
],
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
},
"threeDsMode": "no、auto、standard"
}
CashierPaymentOrder
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额>=0.01 |
| captureMethod | string | false | none | 是否自动capture[auto、manual],default:auto |
| currency | string | true | none | 币种 [3位] |
| description | string | false | none | 附言 |
| expiryTime | string | false | none | 失效时间(整数分钟) |
| fraudMode | string | false | none | 欺诈检测 enum:Y、N |
| frontUrl | string | false | none | 重定向地址 [3-128位] |
| linkMode | string | false | none | 收银台模式-开通对应产品请联系运营人员 |
| orderNo | string | true | none | 订单编号 [5-64位] |
| productInfo | [ProductInfo] | false | none | 商品信息 |
| shipping | Shipping | false | none | 收货地址信息 |
| threeDsMode | string | false | none | 3ds模式取值范围[no、auto、standard] |
CashierPreOrderResp
{
"expiresIn": 1440,
"orderNo": "20220828000002",
"redirectUrl": "/h5/zh-cn/cashier.html",
"respCode": "0000",
"respMsg": "描述"
}
CashierPreOrderResp
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| expiresIn | integer(int32) | false | none | 分钟 |
| orderNo | string | true | none | 订单编号 |
| redirectUrl | string | true | none | 重定向地址 |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
Ddc
{
"bin": "string",
"challenged": "string",
"ddcAction": "string",
"jwt": "string"
}
Ddc
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| bin | string | false | none | none |
| challenged | string | false | none | none |
| ddcAction | string | false | none | ddc请求地址 |
| jwt | string | false | none | none |
DeviceInfo
{
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
}
DeviceInfo
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| browser | Browser | true | none | 浏览器端信息 |
| clientIp | string | true | none | 用户的IP地址,预防欺诈所必需的,支持ipv4、ipv6 |
| deviceId | string | false | none | 设备id |
| language | string | true | none | 语言 |
| location | Location | false | none | 经纬度信息 |
| mobile | Mobile | false | none | 手机操作终端信息 |
GrabPay
{
"productType": "qr-code"
}
GrabPay
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| productType | string | true | none | product type |
Location
{
"lat": "-37.81892",
"lon": "144.95913"
}
Location
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| lat | string | false | none | 纬度 |
| lon | string | false | none | 经度 |
MitPayment
{
"amount": "100.99",
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"card": {
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
},
"currency": "USD",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"orderNo": "20220828000002"
}
MitPayment
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 [M,100.58] |
| billing | Billing | true | none | 账单信息 |
| card | Card | true | none | 银行卡交易信息 |
| currency | string | true | none | 三字母ISO-4217货币代码,大写 |
| description | string | false | none | 附言 string[O 1..50] |
| deviceInfo | DeviceInfo | false | none | 客户端扩展信息 |
| orderNo | string | true | none | 订单编号 [O,min5~max64] |
Mobile
{
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
Mobile
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| deviceModel | string | false | none | 设备 |
| osType | string | false | none | 系统类型 |
| osVersion | string | false | none | 系统版本 |
OrderCardApiModel
{
"arn": "string",
"authorizeCode": "string",
"avsResult": "string",
"bin": "string",
"cardClass": "string",
"cvcResult": "string",
"dsInfo": {
"authenticationStatus": "string",
"cavvAlgorithm": "string",
"eci": "string",
"enrolled": "string",
"signatureVerification": "string",
"threeDsVersion": "string"
},
"issuerCountryCode": "string",
"riskScore": "string"
}
OrderCardApiModel
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| arn | string | false | none | none |
| authorizeCode | string | false | none | none |
| avsResult | string | false | none | none |
| bin | string | false | none | none |
| cardClass | string | false | none | none |
| cvcResult | string | false | none | none |
| dsInfo | ThreeDsInfoDTO | false | none | none |
| issuerCountryCode | string | false | none | none |
| riskScore | string | false | none | none |
OrderInfoModel
{
"billingDesc": "string",
"brand": "string",
"clientIp": "string",
"mcc": "string",
"mercName": "string",
"orderNo": "string",
"orderStatus": "string",
"orderStatusDesc": "string",
"payAmount": 0,
"payName": "string",
"payNo": "string",
"payTime": "2019-08-24T14:15:22Z",
"paymentMethodType": "string",
"tradeComments": "string",
"tradeCurrency": "string",
"tradeFinishTime": "2019-08-24T14:15:22Z",
"tradeNo": "string",
"websiteId": "string"
}
OrderInfoModel
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| billingDesc | string | false | none | none |
| brand | string | false | none | none |
| clientIp | string | false | none | none |
| mcc | string | false | none | none |
| mercName | string | false | none | none |
| orderNo | string | false | none | none |
| orderStatus | string | false | none | none |
| orderStatusDesc | string | false | none | none |
| payAmount | number(bigdecimal) | false | none | none |
| payName | string | false | none | none |
| payNo | string | false | none | none |
| payTime | string(date-time) | false | none | none |
| paymentMethodType | string | false | none | none |
| tradeComments | string | false | none | none |
| tradeCurrency | string | false | none | none |
| tradeFinishTime | string(date-time) | false | none | none |
| tradeNo | string | false | none | none |
| websiteId | string | false | none | none |
PayNow
{
"productType": "qr-code"
}
PayNow
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| productType | string | true | none | product type |
PayPal
{
"metadata": "key-value",
"productType": "qr-code"
}
PayPal
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| metadata | object | false | none | 元数据 |
| » additionalProperties | string | false | none | none |
| productType | string | true | none | 产品编码 |
Payment
{
"alipay": {
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
},
"alipayPlus": {
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code",
"storeId": "P000001",
"subAppId": "string"
},
"amount": "199.68",
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"billingDesc": "string",
"card": {
"captureMethod": "auto",
"cardNo": "6212454545454690",
"cvc": "401",
"expiryMonth": "06",
"expiryYear": "2027",
"firstName": "四",
"lastName": "李"
},
"currency": "USD",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"expiryTime": "60",
"fraudMode": "Y",
"frontUrl": "https://www.xxx.com?tradeNo=xxx&orderNo=xxx&status=订单状态&language=en-US&amount=金额",
"grabPay": {
"productType": "qr-code"
},
"orderNo": "20220828000002",
"payNow": {
"productType": "qr-code"
},
"paymentMethodType": "card、payNow、paypal、wechat、upay、alipay、alipayPlus、shopeePay、applePay、googlePay",
"paypal": {
"metadata": "key-value",
"productType": "qr-code"
},
"productInfo": [
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
],
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
},
"shopeePay": {
"productType": "qr-code"
},
"threeDsData": {
"cavv": "a772a34d-d58a-4896-bf22-40b2af96eabd",
"dsTransId": "020100006afa60729412446b96732f98b3ee98a2",
"dsVersion": "2.1.0",
"eci": "05",
"xid": "05"
},
"threeDsMode": "no、auto、standard",
"upay": {
"authCode": "120061098828009406",
"productType": "qr-code",
"storeId": "P000001"
},
"wechat": {
"attach": "调用者自定义数据",
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code、pay、in-app、mini-program、h5",
"storeId": "P000001",
"subAppId": "string"
}
}
Payment
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| alipay | Alipay | false | none | 支付宝 |
| alipayPlus | AlipayPlus | false | none | AlipayPlus |
| amount | string | true | none | 交易金额,长度7,2 |
| billing | Billing | false | none | 账单信息 |
| billingDesc | string | false | none | 账单描述符,如需自定义上送请联系业务经理开通 string[1..18] |
| card | Card | false | none | 银行卡交易信息 |
| currency | string | true | none | 三字母ISO-4217货币代码,大写 |
| description | string | false | none | 附言 string[1..50] |
| deviceInfo | DeviceInfo | true | none | 客户端环境信息 |
| expiryTime | string | false | none | none |
| fraudMode | string | false | none | 欺诈检测 enum:Y、N |
| frontUrl | string | false | none | 重定向地址不允许携带参数 string[3..128] |
| grabPay | GrabPay | false | none | GrabPay |
| orderNo | string | true | none | 订单编号 string[5..64] |
| payNow | PayNow | false | none | payNow |
| paymentMethodType | string | true | none | Payment methodType[1, 20] |
| paypal | PayPal | false | none | paypal |
| productInfo | [ProductInfo] | false | none | 商品信息 |
| shipping | Shipping | false | none | 收货信息 |
| shopeePay | ShopeePay | false | none | ShopeePay |
| threeDsData | ThreeDsData | false | none | 3ds认证结果信息 |
| threeDsMode | string | false | none | 3ds模式取值范围,有疑问请联系业务经理[no、auto、standard] |
| upay | Upay | false | none | 银联二维码 |
| false | none | 微信支付交易信息 |
Payment Response
{
"amount": "100.99",
"authorizeCode": "920345",
"currency": "USD",
"ddc": {
"bin": "string",
"challenged": "string",
"ddcAction": "string",
"jwt": "string"
},
"desc": "string",
"lastEvent": "下一步引导操作",
"orderNo": "20220828000002",
"orderStatus": "authorized",
"payUrl": "string",
"respCode": "0000",
"respMsg": "描述",
"tradeNo": "589327510105956352",
"transactionIdentifier": "000000000000020005060720116005061",
"transactionTime": "yyyy-MM-dd'T'HH:mm:ssXXX"
}
Payment Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 |
| authorizeCode | string | false | none | 授权码 |
| currency | string | true | none | 币种 |
| ddc | Ddc | false | none | ddc jwt参数信息 |
| desc | string | false | none | 描述信息 |
| lastEvent | string | false | none | 事件引导地址 |
| orderNo | string | true | none | 订单编号 |
| orderStatus | string | false | none | 订单状态 |
| payUrl | string | false | none | 重定向支付链接 |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| tradeNo | string | true | none | 平台订单号 |
| transactionIdentifier | string | false | none | 定期支付凭证串 |
| transactionTime | string | false | none | 交易时间 |
Phone
{
"countryCode": "852",
"number": "18510775231"
}
Phone
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| countryCode | string | false | none | 国家/地区呼叫代码 String[1..7] |
| number | string | false | none | 持卡人电话 String[1..26] |
ProductInfo
{
"imageUrl": "https://item.jd.com/100038004351.html?bbtf=1",
"price": "5.55",
"productName": "可比克薯片",
"quantity": "1",
"sku": "00000000000001",
"url": "https://item.jd.com/100038004351.html?bbtf=1"
}
ProductInfo
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| imageUrl | string | false | none | 商品主图url [1...512] |
| price | string | true | none | 商品单价 |
| productName | string | true | none | 商品名称string [1...512] |
| quantity | string | true | none | 商品数量 |
| sku | string | true | none | 商品编号 |
| url | string | false | none | 商品在线访问url地址 [1...512] |
Query
{
"orderNo": "202308161615130001",
"paymentMethodType": "card、payNow、wechat、upi、upay、alipay、alipayPlus、payNow、shopeePay",
"tradeNo": "202308161615130001"
}
Query
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| orderNo | string | false | none | 订单编号/平台流水号任意上送其中一个即可 |
| paymentMethodType | string | true | none | 支付方式枚举值(M) |
| tradeNo | string | false | none | 平台流水号/订单编号任意上送其中一个即可 |
Query Response
{
"billing": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"birthday": "2022-08-01",
"customerInitiatedReason": "RECURRING/INSTALMENT/UNSCHEDULED",
"email": "diaodiaofly@gmail.com",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"storedcredentials": "none/store,default is none"
},
"extend": {
"arn": "string",
"authorizeCode": "string",
"avsResult": "string",
"bin": "string",
"cardClass": "string",
"cvcResult": "string",
"dsInfo": {
"authenticationStatus": "string",
"cavvAlgorithm": "string",
"eci": "string",
"enrolled": "string",
"signatureVerification": "string",
"threeDsVersion": "string"
},
"issuerCountryCode": "string",
"riskScore": "string"
},
"order": {
"billingDesc": "string",
"brand": "string",
"clientIp": "string",
"mcc": "string",
"mercName": "string",
"orderNo": "string",
"orderStatus": "string",
"orderStatusDesc": "string",
"payAmount": 0,
"payName": "string",
"payNo": "string",
"payTime": "2019-08-24T14:15:22Z",
"paymentMethodType": "string",
"tradeComments": "string",
"tradeCurrency": "string",
"tradeFinishTime": "2019-08-24T14:15:22Z",
"tradeNo": "string",
"websiteId": "string"
},
"refund": [
{
"amount": 0,
"completeTime": "string",
"currency": "string",
"desc": "string",
"orderNo": "string",
"refundStatus": "string",
"refundTime": "2019-08-24T14:15:22Z",
"tradeNo": "string"
}
],
"respCode": "0000",
"respMsg": "描述",
"shipping": {
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
}
}
Query Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| billing | Billing | false | none | 账单信息 |
| extend | OrderCardApiModel | false | none | none |
| order | OrderInfoModel | false | none | none |
| refund | [RefundLogModel] | false | none | none |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| shipping | Shipping | false | none | 收货信息 |
Refund
{
"amount": "100.99",
"clientIp": "10.1.1.1",
"orderNo": "string",
"reason": "商品与描述不符,申请退款",
"refundNumber": "202208280000001",
"tradeNo": "string"
}
Refund
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 |
| clientIp | string | true | none | 申请人请求ip |
| orderNo | string | false | none | 原消费订单号 |
| reason | string | true | none | 退款原因 |
| refundNumber | string | true | none | 申请退款流水号(Mid下唯一) |
| tradeNo | string | false | none | 原消费订单平台流水号 |
Refund Response
{
"amount": "100.99",
"currency": "USD",
"desc": "string",
"finishTime": "yyyy-MM-dd HH:mm:ss",
"mercId": "10000000000000",
"refundOrderNo": "202208280000001",
"refundStatus": "accepted",
"refundTradeNo": "20220828000002",
"respCode": "0000",
"respMsg": "详细的错误描述"
}
Refund Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 |
| currency | string | true | none | 币种 |
| desc | string | false | none | 描述信息 |
| finishTime | string | false | none | 退款完成时间 |
| mercId | string | true | none | 商户编号 |
| refundOrderNo | string | true | none | 退款申请订单编号 |
| refundStatus | string | true | none | 退款状态 |
| refundTradeNo | string | true | none | 退款申请平台订单号 |
| respCode | string | true | none | 应答码 |
| respMsg | string | true | none | 应答描述 |
RefundLogModel
{
"amount": 0,
"completeTime": "string",
"currency": "string",
"desc": "string",
"orderNo": "string",
"refundStatus": "string",
"refundTime": "2019-08-24T14:15:22Z",
"tradeNo": "string"
}
RefundLogModel
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | number(bigdecimal) | false | none | none |
| completeTime | string | false | none | none |
| currency | string | false | none | none |
| desc | string | false | none | none |
| orderNo | string | false | none | none |
| refundStatus | string | false | none | none |
| refundTime | string(date-time) | false | none | none |
| tradeNo | string | false | none | none |
Retrieves Tracking
{
"matedata": "K-V",
"orderNo": "202308161615130001",
"trackingNo": "202208290000001"
}
Retrieves Tracking
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| matedata | object | true | none | 元数据 |
| » additionalProperties | string | false | none | none |
| orderNo | string | true | none | 商户订单编号(orderNo和tradeNo二选一) |
| trackingNo | string | true | none | 快递单号 |
Shipping
{
"address": {
"city": "Seattle",
"country": "HK",
"line1": "为避免交易失败,中文地址建议翻译为英文地址",
"line2": "line2",
"line3": "line3",
"postcode": "98102",
"state": "WA"
},
"carrier": "Fedex",
"email": "diaodiaofly@gmail.com",
"firstName": "四",
"lastName": "李",
"phone": {
"countryCode": "852",
"number": "18510775231"
},
"trackingNo": "202208290000001"
}
Shipping
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| address | Address | true | none | 地址信息 |
| carrier | string | false | none | 快递公司编码 |
| string | false | none | 邮箱 string [3..255] | |
| firstName | string | true | none | The first name of the person receiving the goods or the service string [1..64] |
| lastName | string | true | none | The last name of the person receiving the goods or the service string [1..50] |
| phone | Phone | true | none | The phone number associated with the shipping address |
| trackingNo | string | false | none | 快递单号 |
ShopeePay
{
"productType": "qr-code"
}
ShopeePay
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| productType | string | true | none | product type |
SubscriptionPayment
{
"amount": "100.99",
"cardNo": "4444333322221111",
"customerInitiatedReason": "RECURRING",
"description": "string",
"deviceInfo": {
"browser": {
"acceptHeader": "text/html",
"colorDepth": "48",
"javaEnable": false,
"javascriptEnable": true,
"screenHeight": "800",
"screenWidth": "1200",
"sessionId": "0",
"timeZone": "0",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
},
"clientIp": "10.1.1.1",
"deviceId": "10000000000",
"language": "en-US/zh-CN",
"location": {
"lat": "-37.81892",
"lon": "144.95913"
},
"mobile": {
"deviceModel": "apple iphone7",
"osType": "IOS",
"osVersion": "ios14.5"
}
},
"expiryMonth": "12",
"expiryYear": "2027",
"orderNo": "20220828000002",
"threeDsMode": "no、auto、standard",
"transactionIdentifier": "000000000000020005060720116005061"
}
SubscriptionPayment
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 [M,100.58] |
| cardNo | string | false | none | card Number [O,min13~max19] |
| customerInitiatedReason | string | false | none | 计划类型:RECURRING/INSTALMENT/UNSCHEDULED |
| description | string | false | none | 附言 string[O 1..50] |
| deviceInfo | DeviceInfo | false | none | 客户端扩展信息 |
| expiryMonth | string | true | none | 月份 [O,11] |
| expiryYear | string | true | none | expiry year [O,2026] |
| orderNo | string | true | none | 订单编号 [O,min5~max64] |
| threeDsMode | string | false | none | 3ds模式取值[no、auto、standard] |
| transactionIdentifier | string | false | none | 凭证串 [O,min5~max64] |
SubscriptionPayment Response
{
"amount": "100.99",
"authorizeCode": "920345",
"currency": "USD",
"desc": "string",
"orderNo": "20220828000002",
"orderStatus": "successed",
"respCode": "0000",
"respMsg": "描述",
"tradeNo": "589327510105956352",
"transactionIdentifier": "000000000000020005060720116005061",
"transactionTime": "string"
}
SubscriptionPayment Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| amount | string | true | none | 金额 |
| authorizeCode | string | false | none | 授权码 |
| currency | string | true | none | 币种 |
| desc | string | false | none | 描述信息 |
| orderNo | string | true | none | 订单编号 |
| orderStatus | string | false | none | 订单状态 |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| tradeNo | string | true | none | 平台订单号 |
| transactionIdentifier | string | false | none | 定期支付凭证串 |
| transactionTime | string | false | none | none |
ThreeDsData
{
"cavv": "a772a34d-d58a-4896-bf22-40b2af96eabd",
"dsTransId": "020100006afa60729412446b96732f98b3ee98a2",
"dsVersion": "2.1.0",
"eci": "05",
"xid": "05"
}
ThreeDsData
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| cavv | string | false | none | cavv |
| dsTransId | string | false | none | amex交易标识符 |
| dsVersion | string | true | none | 3ds版本号 |
| eci | string | true | none | eci |
| xid | string | true | none | xid |
ThreeDsInfoDTO
{
"authenticationStatus": "string",
"cavvAlgorithm": "string",
"eci": "string",
"enrolled": "string",
"signatureVerification": "string",
"threeDsVersion": "string"
}
ThreeDsInfoDTO
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| authenticationStatus | string | false | none | none |
| cavvAlgorithm | string | false | none | none |
| eci | string | false | none | none |
| enrolled | string | false | none | none |
| signatureVerification | string | false | none | none |
| threeDsVersion | string | false | none | none |
Tracking
{
"carrier": "2EBOX",
"orderNo": "202308161615130001",
"shipmentDate": "2025-06-09",
"shipmentDirection": "FORWARD",
"shippingStatus": "SHIPPED、CANCELLED、DELIVERED",
"trackingNo": "202208290000001",
"trackingNumberType": "CARRIER_PROVIDED",
"trackingUrl": "https://t.17track.net/en#nums=76708433717662"
}
Tracking
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| carrier | string | true | none | 货件的承运人编码 |
| orderNo | string | true | none | 商户订单编号(orderNo和tradeNo二选一) |
| shipmentDate | string | true | none | 发货日期 |
| shipmentDirection | string | true | none | 表示货件是转发给收件人还是退回 |
| shippingStatus | string | true | none | 商品货件的状态 |
| trackingNo | string | true | none | 快递单号 |
| trackingNumberType | string | true | none | 运单号的类型 |
| trackingUrl | string | false | none | 获取的跟踪链接 |
Tracking Details Response
{
"carrier": "2EBOX",
"desc": "描述",
"orderNo": "202308161615130001",
"respCode": "0000",
"respMsg": "描述",
"shipmentDate": "2025-06-09",
"shipmentDirection": "FORWARD",
"shippingStatus": "SHIPPED、CANCELLED、DELIVERED",
"trackingNo": "202208290000001",
"trackingNumberType": "CARRIER_PROVIDED",
"trackingUrl": "string",
"tradeNo": "202308161615130001"
}
Tracking Details Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| carrier | string | false | none | 货件的承运人编码 |
| desc | string | false | none | 备注 |
| orderNo | string | false | none | 商户订单编号(orderNo和tradeNo二选一) |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| shipmentDate | string | true | none | 发货日期 |
| shipmentDirection | string | true | none | 表示货件是转发给收件人还是退回 |
| shippingStatus | string | true | none | 商品货件的状态 |
| trackingNo | string | false | none | 快递单号 |
| trackingNumberType | string | true | none | 运单号的类型 |
| trackingUrl | string | false | none | none |
| tradeNo | string | false | none | 交易Reference |
TrackingIterm
{
"op": "replace",
"path": "/status",
"value": "CANCELLED"
}
TrackingIterm
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| op | string | false | none | replace、add |
| path | string | false | none | none |
| value | string | false | none | CANCELLED、add |
TrackingRsp Response
{
"desc": "描述",
"respCode": "0000",
"respMsg": "描述",
"trackings": "ids"
}
TrackingRsp Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| desc | string | false | none | 备注 |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| trackings | [string] | false | none | 受理成功的集合id |
Upay
{
"authCode": "120061098828009406",
"productType": "qr-code",
"storeId": "P000001"
}
Upay
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| authCode | string | false | none | 微信支付授权码string[1, 64] |
| productType | string | true | none | product type |
| storeId | string | false | none | 门店编号string[1, 30] |
Update or cancel tracking information
{
"iterms": [
{
"op": "replace",
"path": "/status",
"value": "CANCELLED"
}
],
"matedata": "K-V",
"orderNo": "202308161615130001",
"trackingNo": "202208290000001"
}
Update or cancel tracking information
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| iterms | [TrackingIterm] | true | none | none |
| matedata | object | false | none | 元数据K-V |
| » additionalProperties | string | false | none | none |
| orderNo | string | true | none | 商户订单编号(orderNo和tradeNo二选一) |
| trackingNo | string | true | none | 快递单号 |
Void
{
"orderNo": "string",
"tradeNo": "string"
}
Void
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| orderNo | string | false | none | 订单编号(orderNo和tradeNo二选一) |
| tradeNo | string | false | none | 平台流水号(orderNo和tradeNo二选一) |
Void Response
{
"lastEvent": "string",
"orderNo": "20230817123200001",
"orderStatus": "canceled",
"respCode": "0000",
"respMsg": "描述",
"tradeNo": "20230817123200001",
"transactionTime": "yyyy-MM-dd'T'HH:mm:ssXXX"
}
Void Response
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| lastEvent | string | false | none | 最后事件 |
| orderNo | string | false | none | 订单编号 |
| orderStatus | string | false | none | 订单状态 |
| respCode | string | false | none | 响应码 |
| respMsg | string | false | none | 响应描述 |
| tradeNo | string | false | none | 平台订单号 |
| transactionTime | string | false | none | 交易时间 |
{
"attach": "调用者自定义数据",
"authCode": "120061098828009406",
"limitPayMethod": "no_credit",
"openId": "string",
"productType": "qr-code、pay、in-app、mini-program、h5",
"storeId": "P000001",
"subAppId": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| attach | string | false | none | 附加数据string[1, 50] |
| authCode | string | false | none | 微信支付授权码string[1, 64] |
| limitPayMethod | string | false | none | 限制支付方式string[1, 32] |
| openId | string | false | none | 微信openId[1, 64] |
| productType | string | true | none | 产品类型[1, 16] |
| storeId | string | false | none | 门店编号string[1, 30] |
| subAppId | string | false | none | 微信子appId[1, 64] |