Payment Web API
  • Payment API Solutions Map
  • API Common Specifications
  • Payment Status Query API (Common)
  • Refund & Refund Query API (Common)
  • Query Exchange Rate API (Common)
  • Payment Process Flow with Mobile App (Common)
  • API for PC Browser with Wechat Pay/Alipay/UnionPay
    • Payment Request with WeChat Pay
    • Payment Request with Alipay
    • Payment Request with UnionPay-SecurePay
      • Query Transaction with UnionPay-SecurePay
  • API for WeChat Browser with WeChat Pay
    • Payment Request API
    • Query Transaction with WeChat Pay
  • API for WeChat Mini-Program with WeChat Pay
    • Payment Request API
    • Query Transaction API
  • API for Mobile Browser with Alipay
    • Payment Request API
    • Query Transaction API
  • API for Mobile Browser with WeChat
    • Payment Request API
    • Query Transaction API
  • API for Mobile with UnionPay-SecurePay
    • Payment Request API
    • Query Transaction API
    • Code Samples(Web App, Android, iOS)
  • API for Mobile App with WeChat Pay
    • Payment Request API
    • Query Transaction API
  • API for Mobile App with Alipay
    • Payment Request with OTT Pay SDK
    • Implementation with Android App SDK
    • Implementation with iOS App SDK
  • API for In-Store Channels(via Merchant POS/Terminal)
    • API Process Flows
    • Payment Request API
    • Query Transaction API
  • API for Elavon Converge-Hosted payment
    • Payment Request API
    • Query Transaction API
  • API for Global payments PORTICO Ecomm Payment
    • Payment Request API
    • Query Transaction API
  • API for Checkout payment
    • Payment Request API
    • Query Transaction API
  • Appendix A (Data Encryption / Decryption)
  • Appendix B (Response Code)
  • FAQ
  • > Back to Top Page
Powered by GitBook
On this page
  • API Request Parameters(HTTP-Request-Body )
  • API Response Parameters(HTTP-Response-Body)
  • API Call Back (HTTP-POST)
  • Message Payload Parameters Level (HTTP-Response-Body)

Was this helpful?

  1. API for WeChat Mini-Program with WeChat Pay

Payment Request API

PreviousAPI for WeChat Mini-Program with WeChat PayNextQuery Transaction API

Last updated 4 years ago

Was this helpful?

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

{
  "amount":"1",
  "biz_type":"WECHATPAY",
  "operator_id":"0000020156",
  "order_id":"2020041468976O124O000857",
  "appId": "wx5f89682208cf8e88",
  "call_back_url":"https://ezshops.ott.ca/AliQrOTTPAY_callback.php"
}
 

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

{
"rsp_code":"SUCCESS",
"rsp_msg":"success",
"data":"41kiLvjVBO8AW4wTOthI92OQu+8fwac5cIDx0DoZpitLvSJU8WKQbk5Bii5ZYrgLz4hepQ865QZFWqj2PRZ1FjxxipxEy2KoOKchWK09e42Se3CMAxt/+8UGrnAHDJLbU/BBlZLJoLpruSNKBeVfwhI7TtGdP4ciwzKPmv5aS2DWoU4Jl26IAPa8PeGhPNLuT99HwBGXa7aUz5adYk3uAR5Ww9HkBlPrqzJlUQ4zdMgjxaM2bROldcKTK8NxPM7X",
"md5":"3D3B2F0000EFBF3427A5A67E656E838B"
}

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

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

{"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"
}
 

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);
                }
              })
            }

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.

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

 {
  "data":"hy0yiXxPH4TDXeY5ET7gqIsUcgY5ykO1vQYOahS5SsbN7/5Ha7+hvcXhgY1hz9kHuf5OxqNfv28kVeiYACrLzngk+hA2o8dVAcifT6h3AquN5micrIi3L9owj6cHT1nJRExC74sNUqF8CDY5fb4jLh9it9tq7r8xFOpcpf19VNWceo/Jt1nHca6HPMvMUEDeX1aUjnxOs7R7B2TUQbAENg\u003d\u003d",
  "rsp_code":"SUCCESS",
  "rsp_msg":"success",
  "merchant_id":"QC00005496",
  "md5":"F70CA0472D1AAA596E720C19A1DD36A0"
 }

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

{
 "amount":"1",
 "bizpay_order_id":"AL781266859681754",
 "tip":"0",
 "merchant_id":"QC00005496",
 "order_id":"2020041553699O153O0407",
 "finish_time":"20200416050429"
}

refer to

refer to

Data Example(JSON Data):

API Response Parameters(HTTP-Response-Body)

Response Example(JSON Data):

Transaction Data Parameters(JSON format, After decrypted)

payInfo parameters

Data with PayInfo Example(JSON Data, after decrypted):

Code example to activate WeChat Pay Wallet

API Call Back (HTTP-POST)

Message Payload Parameters Level (HTTP-Response-Body)

Call-Back Message Example(JSON Data):

Transaction Data (JSON format, after decrypted)

Data Example(JSON Data, after decrypted):

✅
☑️
☑️
☑️
✅
☑️
☑️
☑️
☑️
☑️
✅
☑️
☑️
☑️
☑️
WebChat Developer API Website
WebChat Developer API Website