# midasPay
本接口应在后端服务器调用
It enables you to deduct a user's remaining game coins for the Mini Game with virtual payment activated. There is a possibility that the API calling times out or a system failure is returned but the game coins are deducted. In the case, use the same bill_no to repeatedly call the API until system failure is not returned and deduction will not be made repeatedly. Alternatively, call the payment canceling API to cancel this deduction.
# Formal environment
POST https://api.weixin.qq.com/cgi-bin/midas/pay?access_token=ACCESS_TOKEN
# Sandbox environment
POST https://api.weixin.qq.com/cgi-bin/midas/sandbox/pay?access_token=ACCESS_TOKEN
# 请求Parameter
| property | type | default value | optional | description | version |
|---|---|---|---|---|---|
| openid | string | yes | User unique identifier | ||
| appid | string | yes | Mini Program appId | ||
| offer_id | string | yes | offer_id distributed by Midas | ||
| ts | number | yes | UNIX timestamp in seconds | ||
| zone_id | string | yes | Game server zone ID; if the game servers are not classified by zones, the default zoneId ="1", and it is string type. If the app supports selecting role, the zone ID is followed by role ID by using "_". | ||
| pf | string | yes | Platform: Android | ||
| user_ip | string | no | User's Internet IP | ||
| amt | number | yes | Number of game coins deducted, which cannot be 0 | ||
| bill_no | string | yes | Order ID, which requires unique value; recurring payment will not occur for the same ID It should be no more than 63 characters including numbers, uppercase and lowercase letters_- | *@ | |
| pay_item | string | no | Prop name | ||
| app_remark | string | no | Remarks. They will be recorded in the account statement | ||
| sig | string | yes | All parameters above (up to 11 including optional parameters) +uri+Midas key are signed by HMAC-SHA256. For details, please see Midas payment signature algorithm | ||
| access_token | string | yes | Proof of interface call | ||
| mp_sig | string | yes | All parameters above (up to 13 including optional parameters) +uri+session_key are signed by HMAC-SHA256. For details, please see Midas payment signature algorithm |
# Return
# Object
Returned JSON data package
| property | type | description | version |
|---|---|---|---|
| errcode | number | Error code | |
| errmsg | string | Error message | |
| bill_no | string | Order number, which expires in 48 hours | |
| balance | number | Balance after the deduction | |
| used_gen_balance | number | Deduction is made from the gift game coins balance this time |
errcode 's struct
| value | description |
|---|---|
| 0 | Request successful |
| -1 | System busy, the developer is requested to try again later |
| 90009 | mp_sig signature error |
| 90010 | User has not logged in, or login status has expired |
| 90011 | sig signature error |
| 90012 | Order already exists |
| 90013 | Balance is insufficient |
| 90017 | No interface calling permissions |
| 90018 | Parameter error |
# POST data format: JSON
{
"openid":"odkx20ENSNa2w5y3g_qOkOvBNM1g",
"appid":"wx1234567",
"offer_id":"12345678",
"ts":1507530737,
"zone_id":"1",
"pf":"android",
"amt":123,
"bill_no":"BillNo_123",
"sig":"f705c7351830125282ffc6d3c22c81db19b50a748f60f7c8f267e59152941d83",
"mp_sig":"168704ac52eea6da27e0d76fd659cd8d628457dd680459a57365e17c0f40de4a"
}