司机APP支付整改
支付流程
- 用户在商户APP中选择商品,提交订单,选择微信支付。
- 商户后台收到用户支付单,调用微信支付统一下单接口。
- 统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
- 商户APP调起微信支付。
- 商户后台接收支付通知。
- 商户后台查询支付结果。
APP调起微信支付所需参数
- appid 应用ID 微信开发平台审核通过的应用APPID
- partnerid 商户号 微信支付分配的商户号
- prepayid 预支付交易会话ID 微信返回的支付交易会话ID
- package 扩展字段 暂填写固定值Sign=WXPay
- noncestr 随机字符串 不长于32位。
- timestamp 时间戳
- sign 签名 详见签名生成算法
APP支付所需配置信息
appid 应用ID 微信开放平台审核通过的应用APPID mch_id 商户号 微信支付分配的商户号 api_key API密钥 微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置
修改点
司机APP修改
移除生成预支付交易单的逻辑,通过后台接口获取调起支付所需参数
后台修改
增加接口,调用微信的预支付交易单接口,返回APP支付所需的信息
接口名: /pay/driver
Method: GET
请求:
trade_no: M string 支付流水号
响应:
code M int 返回码。0为成功、其他为错误
msg M string 提示信息
data M string 返回json数据列表
{
appid: "wx84fee0bcb61526ff",
partnerid: "1233857502",
prepayid: "wx201608301549023debc4711a0834400654",
package: "Sign=WXPay",
noncestr: "Ih2OuXbUJDUAxRvONLFOECgNt06NpjCF",
timestamp: "1472543343",
sign: "E9C4F0F7004E48524A44E61BC7FCF674"
}