Payment Request API
✅ API Request Parameters(HTTP-Request-Body )
Params Name
Description
Required
Notes
action
Action name (Constant Value)
Y
"MAPPPAY"
version
Version number
Y
"1.1"
merchant_id
Merchant ID
Y
Provided by OTT Pay
data
Encrypted Transaction Data
Y
See "Data" table below
md5
Message Digest
Y
☑️ Request Example(JSON Data):
{
"action":"MAPPPAY",
"version":"1.0",
"merchant_id":"QC00005496",
"data": "RqlbPF0gZ0VnGnpQPnO/v1FSeVY81iMrJd0ejTx+g8Bj8y3XImosyzBF75PW LxyHffCAidLCVxW7lfr60lHVK9FtsEP+V0F1Wp6xDW0ZnJyCpC6inmC9i4NV iEqo50yGS4vtaf+mHz6ZtoWtn9ihYNAOEr1grr/F684cJ+f0D4ZaAkdkI5HV H4BTUPG78lAiJqv1hNmYZIIDucxxyghKFAEdgrfkM13f6Jig9CIHhXW8Xkfl nVSEoVz6v63jX2NS1Ls0bAZTeJC9YFS/hkTjbloaR7hvKU+zx5SZrhGNpjTX OjpKopp57IzWMd4LF4TgXsV8Eqib/ygz6n6wJ5zR6HtcWexC0DnxVoE0DMAz FW3cIIsCDLVkw++eZAZohk6e+Zpbke82apdigJm8xtLam5Esn2N3khpBFpfu oQ3LTPqKnj9mxjUtm/slblJ+ve3hOQ6ZA01QJHBEOxx4UJgm+pTxdyIQuRAH 7Df8XIfP0NE=",
"md5":"6AFB2E94A70D9A208F101723700EB287"
}
☑️ Data(JSON Data, to be encrypted):
Params Name
Description
Required
Notes
order_id
Order ID
N
OrderID could be generated by client's code, or generated by OTTPay as default
operator_id
Operator ID
Y
Operator ID provided by OTTPay
amount
Transaction Amount
Y
String, 100 for 1.00 dollar
Tip
Tip
N
String, 100 for 1.00 dollar
biz_type
Message Digest
Y
"WECHATPAY"
call_back_url
Call Back URL
Y
OTT Pay send back with payment result to call back URL
☑️ Data Example(JSON Data):
{
"amount":"1",
"biz_type":"WECHATPAY",
"operator_id":"0000020156",
"order_id":"2020041468976O124O000857",
"appId": "wx5f89682208cf8e88",
"call_back_url":"https://ezshops.ott.ca/AliQrOTTPAY_callback.php"
}
✅ API Response Parameters(HTTP-Response-Body)
Params Name
Description
Required
Notes
rsp_code
Response code
Y
refer to Appendix B
rsp_msg
Response message
Y
data
Transaction Data Encrypted
Y
See "Data" table below
md5
Message Digest
Y
☑️ Response Example(JSON Data):
{
"rsp_code":"SUCCESS",
"rsp_msg":"success",
"data":"41kiLvjVBO8AW4wTOthI92OQu+8fwac5cIDx0DoZpitLvSJU8WKQbk5Bii5ZYrgLz4hepQ865QZFWqj2PRZ1FjxxipxEy2KoOKchWK09e42Se3CMAxt/+8UGrnAHDJLbU/BBlZLJoLpruSNKBeVfwhI7TtGdP4ciwzKPmv5aS2DWoU4Jl26IAPa8PeGhPNLuT99HwBGXa7aUz5adYk3uAR5Ww9HkBlPrqzJlUQ4zdMgjxaM2bROldcKTK8NxPM7X",
"md5":"3D3B2F0000EFBF3427A5A67E656E838B"
}
☑️ Transaction Data Parameters(JSON format, After decrypted)
Params Name
Description
Required
Notes
payInfo
data to activate WeChat-Pay
Y
refer to payInfo
merchant_id
order id from Acquirer
Y
Returned by the Payment Service Provider (e.g. WeChat Pay, Alipay)
order_id
Order ID
Y
amount
amount
Y
String, 100 for 1.00 dollar
sale_num
sale_num
Y
☑️ payInfo parameters
Params Name
Description
Required
Notes
appId
appId in WeChat-MiniProg
Y
timeStamp
timeStamp
Y
nonceStr
nonceStr
Y
packageStr
packageStr
Y
signType
signType
Y
"MD5"
paySign
paySign
Y
☑️ Data with PayInfo Example(JSON Data, after decrypted):
{"payInfo":"
{"appId": "wx5f89682208cf8e88",
"timeStamp":"2018091015",
"nonceStr":"fGzn4apm4g33UnYU",
"packageStr":"prepay_id\\u003dwx11030407018895349c421ab82302468473",
"signType":"MD5",
"paySign":"0961D43010DF42EA6021D76915F36F7A"
}",
"merchant_id":"ON00009999",
"order_id":"TEST0000008",
"amount":1,
"sale_num":"1536606245849717"
}
☑️ Code example to activate WeChat Pay Wallet
By using of above payInfo parameters: appid, timestamp, nonceStr, packageStr, signType, paySign, make payment request within Mini-Program as below,
wx.request({
url: 'https://mapp.ottpay.com/weixin/MappPay', //payment service URL
data: {
code: res.code //要去换取openid的登录凭证
},
success: function (res) {
console.log("res=====>" + res.data);
console.log("appId=====>" + res.data.appId);
console.log("timeStamp=====>" + res.data.timeStamp);
console.log("nonceStr=====>" + res.data.nonceStr);
console.log("packageStr=====>" + res.data.packageStr);
console.log("signType=====>" + res.data.signType);
console.log("paySign=====>" + res.data.paySign);
wx.requestPayment({
appId: res.data.appId,
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.packageStr,
signType: 'MD5',
paySign: res.data.paySign,
success: function (res) {
// success
console.log(res);
},
fail: function (res) {
// fail
console.log(res);
},
complete: function (res) {
// complete
console.log(res);
}
})
}
✅ API Call Back (HTTP-POST)
☑️Message Payload Parameters Level (HTTP-Response-Body)
Params Name
Description
Required
Notes
rsp_code
Response code
Y
refer to Appendix B
rsp_msg
Response message
Y
merchant_id
Merchant ID
Y
data
Encrypted Transaction Data
Y
See "Data" table below
md5
Message Digest
Y
☑️ Call-Back Message Example(JSON Data):
{
"data":"hy0yiXxPH4TDXeY5ET7gqIsUcgY5ykO1vQYOahS5SsbN7/5Ha7+hvcXhgY1hz9kHuf5OxqNfv28kVeiYACrLzngk+hA2o8dVAcifT6h3AquN5micrIi3L9owj6cHT1nJRExC74sNUqF8CDY5fb4jLh9it9tq7r8xFOpcpf19VNWceo/Jt1nHca6HPMvMUEDeX1aUjnxOs7R7B2TUQbAENg\u003d\u003d",
"rsp_code":"SUCCESS",
"rsp_msg":"success",
"merchant_id":"QC00005496",
"md5":"F70CA0472D1AAA596E720C19A1DD36A0"
}
☑️ Transaction Data (JSON format, after decrypted)
Params Name
Description
Required
Notes
finish_time
Payment time
Y
YYYYMMDDHHMMSS (Beijing time)
order_id
Order ID
Y
amount
Transaction amount
Y
bizpay_order_id
order id from Acquirer
Y
Returned by the Payment Service Provider (e.g. WeChat Pay, Alipay)
merchant_id
Merchant ID
Y
Provided by OTT Pay
☑️ Data Example(JSON Data, after decrypted):
{
"amount":"1",
"bizpay_order_id":"AL781266859681754",
"tip":"0",
"merchant_id":"QC00005496",
"order_id":"2020041553699O153O0407",
"finish_time":"20200416050429"
}
Last updated
Was this helpful?