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"

app_id

mini-prog ID with WebChat

Y

open_id

User id with WebChat

Y

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)

Once API server finished the request process, it will send back process status to specified URL which been set up as field of 'call_back_url' within above API request parameters.

☑️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