App调起支付
更新时间:2024.09.19通过App下单接口获取到发起支付的必要参数prepay_id,可以按照接口定义中的规则,使用微信支付提供的SDK调起App支付。
接口说明
支持商户:【普通商户】
字段说明
请求参数
此API签名无后台接口交互,需要将列表中的数据签名
appid
必填 string(32)
微信开放平台审核通过的移动应用AppID 。
partnerid
必填 string(32)
请填写商户号mchid对应的值。
prepayid
必填 string(64)
微信返回的支付交易会话ID,该值有效期为2小时。
package
必填 string(128)
暂填写固定值Sign=WXPay
noncestr
必填 string(32)
随机字符串,不长于32位。推荐随机数生成算法。
timestamp
必填 string(10)
时间戳,标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。
sign
必填 string(256)
签名,使用字段AppID、timeStamp、nonceStr、prepayid计算得出的签名值 注意:取值RSA格式
应答参数
名称 | 描述 | 解决方案 |
---|---|---|
0 | 成功 | 展示页面成功 |
-1 | 错误 | 可能的原因:签名错误、未注册AppID、项目设置AppID不正确、注册的AppID与设置的不匹配、其他异常原因等 |
-2 | 用户取消 | 无需处理。发生场景:用户不支付了,点击取消,返回AppID |
请求示例
示例代码
ios
android
AppID调起支付的参数需要按照签名规则进行签名计算
1、构造签名串
参与签名字段及格式:
数据举例:
2、计算签名值
绝大多数编程语言提供的签名函数支持对_签名数据_ 进行签名。强烈建议商户调用该类函数,使用商户私钥对_待签名串_进行SHA256 with RSA签名,并对签名结果进行Base64编码得到签名值。
下面我们使用命令行演示如何生成签名
signType参数不参与签名,但需要传递,默认值为RSA,生成的签名需要通过字段paySign传递