# JSAPI支付【推荐】
# H5/小程序下单
# 请求方法:
POST(application/json)
# 请求地址
https://open.wecard.qq.com/cgi-bin/pay/app/wxpay?access_token=access_token
[1]
# 请求参数
参数名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
access_token | string | Y | 应用有效凭证,参考文档 |
sub_appid | string | Y | 发起支付商户的sub_appid,获取方式参考文档 |
user_id | string | N | 用户ID |
openid | string | N | 微信用户openid。openid和sub_openid必传其一。这里的参数值为服务商公众号下的openid,参考用户信息查询 |
sub_openid | string | N | 微信用户sub_openid。openid和sub_openid必传其一。这里的参数值为微卡主公众号下的openid或者小程序openid,参考用户信息查询 |
order_id | string | Y | 订单号(长度需大于16位) |
amount | int | Y | 支付金额。单位:分 |
order_time | int | N | 下单时间(Unix 时间戳) |
product_id | string | N | 商品 id |
product_name | string | N | 商品名称 |
product_detail | string | N | 商品描述 |
callback_url | string | N | 支付成功后的回调通知地址(http/https 开头的可外网访问的地址,用于接收支付异步回调) |
metadata | string | N | 附加数据。支付成功后透传给回调地址的数据。例如:"room=501&sex=male" |
openid 和 sub_openid 必须传至少其中一个。请在 product_detail 参数中添加支付备注,例如:5 舍 501 室缴电费。
# 响应参数
参数名 | 类型 | 必有 | 描述 | ||
---|---|---|---|---|---|
code | int | Y | 业务状态。0 为成功 其他为失败 | ||
message | string | Y | 业务提示 | ||
data | order_id | string | Y | 订单号 | |
pay_params | appId | string | Y | 主公众号appid | |
timeStamp | string | Y | 时间戳 | ||
nonceStr | string | Y | 随即串 | ||
package | string | Y | 支付参数 | ||
signType | string | Y | 签名类型 | ||
paySign | string | Y | 签名参数 |
- 响应数据示例
{
"code": 0,
"data": {
"order_id": "abc123",
"pay_params": {
"appId": "wx873fad3359987c1c",
"timeStamp": "1576734280",
"nonceStr": "a5192a5f9c6807e35a52b672f26b074b",
"package": "prepay_id=wx191344402366069301e364f01452325900",
"signType": "MD5",
"paySign": "9C7FDA21DE043644B6B20C817E8AC18B"
}
},
"message": "下单成功"
}
# 调起支付
参考微信支付官方文档:
# 流程图
# 注意事项
[1] 私有化部署的主体不能使用上面接口地址,需要根据主体私有化部署域名拼上对应的路径,主体私有化网关域名(私有化部署域名+/kong)
← H5/小程序下单[v1] H5/小程序退款 →