微信小程序支付步骤详解,开发者必知

2024-06-08
来源:网络整理

微信小程序微信支付步骤

更新时间:2016-12-01 14:00:53 作者:无笔名

最近微信小程序开发进入支付阶段,我从事App开发很久了,支付流程还是记得清清楚楚的,下面这篇文章就给大家讲一下微信小程序实现微信支付的步骤,有需要的朋友可以参考一下。

最近进入微信小程序开发支付阶段,从事App开发时间较长,支付流程还是记得清清楚楚的。但是微信小程序的支付有点奇怪,在公众号里创建了应用,但是在公众号里却找不到文档介绍,很是疑惑,也让人怀疑小程序的主人到底是属于公众号支付类还是应用支付类。以下是小程序支付文档入口(嵌套在小程序API中):

小程序支付步骤:

1. 预付款

2.基于预付款数据+签名->发起支付

3. 付款回调

下面简单介绍一下这三个步骤:

1.预支付。此接口通过前端把需要支付的信息(订单号,价格等)提交给开发者服务器。开发者服务器提交给微信,然后返回前端需要支付的一些信息;eg:

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

https://()htm?total_fee=100&cid=6001&orderCodes=2016120119 { "sign":"A2****************A6", "timestamp":"14****************68", "package":"Sign=WXPay", "partnerId":"14****************02", "appid":"wx****************ab", "nonceStr":"9f****************37", "prepayId":"wx****************54" }

2. 发起付款(注意,无需上传付款。

但需要签名且放在第一位)

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() { } })

生成签名

微信小程序MD5加密工具下载地址:

var MD5Util = require('../../../utils/md5.js'); var sign = ''; //顺序按照ASCII字典序排序 var signA = "appId="+app.appId+"&nonceStr="+res.data.nonceStr+"&package=prepay_id="+res.data.prepayId+"&signType=MD5&timeStamp="+res.data.timestamp; var signB = signA+"&key="+app.key; sign = MD5Util.MD5(signB).toUpperCase();

以上就是我的生成签名的代码,写的不是很清楚,下面是官方文档的详细说明:

假设传输的参数如下:

appid: wxd930ea5d5a258f4f(需要注意的是appid 在wx.requestPayment({})发起支付是不上传,但是签名时需要) mch_id: 10000100 device_info: 1000 body: test nonce_str: ibuaiVcKdpRxkhJA

步骤1:按照key=格式,按照参数名称字典顺序对参数进行排序,具体如下:

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

第 2 步:连接 API 密钥:

stringSignTemp="stringA&key=192006250b4c09247ec02edce69f6a2d" sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7"

此时,wx.参数使用的是sign。

最后发送的数据是:

wxd930ea5d5a258f4f 10000100 1000 test ibuaiVcKdpRxkhJA 9A0A8659F005D6984697E2CA0A9CF3B7

以上就是小编为大家介绍的使用微信小程序进行微信支付的步骤,希望对大家有所帮助,如果大家还有什么疑问可以给我留言,我会及时回复大家的,非常感谢大家对脚本之家网站的支持!

分享