WebView小程序 #
描述 #
若需要在小程序内内嵌H5进行订单支付,则需要在小程序新增 /pages/order/pay 页面并完成下方处理。示例代码 (opens new window)
接口说明 #
请求地址 POST /api/order/payByOther
HTTP Headers #
HTTP Header | 描述 |
---|---|
X-APPID | 应用授权的APPID,请查看后台 小程序设置。 示例值:MVxrJA4iv1IdYhAY |
X-Model | 手机机型。 示例值:iPhone 13 Pro |
X-Platform | 操作系统平台。 示例值:iOS 15 |
X-Module | 应用所在模块,如外卖模块即为takeout 。示例值:takeout |
请求参数 #
参数名称 | 变量名称 | 参数类型[长度限制] | 是否必填 | 描述 |
---|---|---|---|---|
支付单号 | pay_number | string[1, 32] | 是 | body通过跳转参数获取此参数,此参数为支付凭证。 示例值:82021110119573473151938 |
微信APPID | app_id | string[1, 32] | 否 | body若小程序/端的APPID和后台设置的APPID不一致,则需要传此参数。 示例值:wx02439ba957330b01 |
用户OPENID | open_id | string[1, 32] | 条件选填 | body若app_id填写,则此参数必传。 示例值:oS8_74sYQeuZITfbF472nAzfPsBs |
是否子商户小程序 | is_sub_app | int8 | 条件选填 | body1 是 2 否 若app_id填写,且支付为服务商支付,则此参数必传。 示例值:1 |
服务商APPID | sp_app_id | string[1, 32] | 条件选填 | body若is_sub_app,则需要传此参数。 示例值:wx02439ba957330b01 |
用户登录CODE | code | string[1, 64] | 条件选填 | body通过wx.login()获得的code 若open_id不填写,则此参数必传。 |
微信APPSECRET密文 | rsa | string[1, 256] | 条件选填 | body小程序APP SECRET通过RSA加密 (opens new window)后的base64字符串 若open_id不填写,则此参数必传。 |
RSA加密公钥
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm9PWKN+OUaP8PVl/KKXR
jYoZJjfUr7yGfoSUPSlIod6NNo7KKnh5m0YN4p3lL107Oap2EFvbc0GcxBdw2C+N
y85vGvG8D53lnZW+xzBrSZOVibZAtk/tSNumCEpv/8BDMo0yNtH25CXRecVgQ9x1
8PVdkMUQ7ZfjTbpjNlhB11Ac0wrzdd9yAYkWl4ph/HwjJvh0pcxS4xd64SU8QnUs
mJZ6din/7JPBxDUDJ8PYu0hOGie+lRVSmAZ3BvN9DH2vIhK4ci6oxumhSBHgeDni
UuMd0a7XcoJB8r6u7HghUoowzMVTNHmwHHdQWJbfRfZ5tU6z3VoboYumnjwEqaRl
eQIDAQAB
-----END PUBLIC KEY-----
请求示例 #
{
"pay_number": "82021110119573473151938",
"app_id": "wx02439ba957330b01",
"open_id": "oS8_74sYQeuZITfbF472nAzfPsBs",
}
响应结果 #
参数名称 | 变量名称 | 参数类型[长度限制] | 是否必填 | 描述 |
---|---|---|---|---|
订单支付凭证 | package | string[1, 128] | 是 | JSAPI下单接口返回的prepay_id参数值,提交格式如:prepay_id=*** 示例值:prepay_id=wx201410272009395522657a690389285100 |
随机字符串 | nonce_str | string[1, 32] | 是 | 随机字符串,不长于32位。 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
签名方式 | sign_type | string[1, 32] | 是 | 示例值:RSA |
签名 | pay_sign | string[1, 32] | 是 | 后端计算的签名值。 |
时间戳 | timestamp | string[1, 256] | 是 | 示例值:1414561699 |
响应示例 #
> 200 Response
{
"code": 20000,
"msg": "success",
"data": {
"package": "prepay_id=wx201410272009395522657a690389285100",
"nonce_str": "5K8264ILTKCH16CQ2502SI8ZNMTM67VS",
"sign_type": "RSA",
"pay_sign": "oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==",
"timestamp": "1414561699"
}
}