当前位置: 首页 > 微信相关

微信小程序开发支付步骤简述

发布日期:2020-08-12 09:07:09 分类:微信相关 阅读()来源:网络收集

好东西要多分享:

做网站就上魔艺客
摘要:小程序支付步骤:预支付根据预支付数据+签名——>发起支付——>支付回调

微信小程序开发渐渐发展到支付阶段,对于许多一直以来从事App开发的人员,无疑要舍弃过去的支付流程。但是微信小程序的支付就有点奇怪了,应用的创建是在公众号里,但是文档的介绍却在公众号中无法找到直接入口,这样的设计令人有点匪夷所思,而且小程序到底是属于公众号支付范畴还是app支付范畴也成疑问。

小程序支付步骤:

1,预支付

2,根据预支付数据+签名——>发起支付

3,支付回调

下面对这3个步骤进行简单描述:

1,预支付。该接口通过前端提交需支付的信息(订单号、价格等)给开发者服务器,开发者服务器在提交到微信,而后返回真正前端需要进行支付的一些信息;

开发者服务器的预支付接口:

{

sign:A2****************A6,

timestamp:14****************68,

package:Sign=WXPay,

partnerId:14****************02,

appid:wx****************ab,

nonceStr:9f****************37,

prepayId:wx****************54

}

2,发起支付(需要注意的是发起支付是不需要上传appid,

但是签名paySign需要appid ,而且放在第一个)

wx.requestPayment({

nonceStr: res.data.nonceStr,

package: prepay_id=+res.data.prepayId,

signType: 'MD5',

timeStamp: res.data.timestamp,

paySign: sign,//

五个字段参与签名(区分大小写)appId,nonceStr,package,signType,timeStamp(需要注意的是,这5个参数签名排序的顺序按照ASCII字典序排序)

success: function(res){

console.log(支付成功);

},

fail: function() {

},

complete: function() {

}

})

生成签名sign

假设传送的参数如下:

appid wxd930ea5d5a258f4f(需要注意的是appid wx.requestPayment({})发起支付是不上传,但是签名时需要)

mch_id 10000100

device_info 1000

body test

nonce_str ibuaiVcKdpRxkhJA

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

stringA=appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA;

第二步:拼接API密钥:

stringSignTemp=stringA&key=192006250b4c09247ec02edce69f6a2d

sign=MD5(stringSignTemp).toUpperCase()=9A0A8659F005D6984697E2CA0A9CF3B7

此时的sign 用于wx.requestPayment 上传参数paySign

最终得到最终发送的数据:

wxd930ea5d5a258f4f

10000100

1000

test

ibuaiVcKdpRxkhJA

9A0A8659F005D6984697E2CA0A9CF3B7


推荐阅读:微信小程序开发者工具简介

声明: 文章内容及图片部分全部摘自网络,在此分享供读者参考和借鉴,不代表酷雷的观点。文章、图片等内容如涉嫌侵权,请联系我们删除,谢谢!带有原创标签的属于酷雷原创文章,未经允许不得转载!

标签:

我要说一说

加载中~

相关推荐

您好,很高兴为您服务!
广告合作
投诉建议
联系站长

客服热线:15821432298

扫码加好友,优惠等你来!