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

App开发

小程序开发


浏览:490 次

发展已逐渐发展到支付阶段。对于许多从事App开发的人来说,毫无疑问,他们会放弃过去的支付流程。但付款有点奇怪。该app是在公众号中创建的,但文件介绍无法在公众号找到直接入口。这个设计有点奇怪,小程序属于公众号支付类还是app支付类也值得商榷。

小程序支付步骤:

1.预付款

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

3.支付回拨

以下是三个步骤的简要说明:

1.预付款。该接口通过前端将要支付的信息(订单号、价格等)提交给开发者服务器。开发者服务器将其提交给微信,然后返回一些要由真实前端支付的信息;

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

{

标志:A2****************A6,

时间戳:14**************68,

package:Sign=WXPay,

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

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

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

预付款ID:wx****************54

}

2.发起支付(应该注意,不需要上传appid来发起支付,

但签名paySign需要appid,并放在第一个)

wx.请求付款({

nonceStr:res.data.nonceStr,

package:prepay_id=+res.data.prepayId,

signType:“MD5”,

时间戳:res.data.timeStamp,

paySign:签名//

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

成功:函数(res){

安慰日志(成功付款);

},

失败:函数(){

},

完成:函数(){

}

})

生成签名

假设传输的参数如下:

申请编号:wxd930ea5d5a258f4f

mch编号:10000100

设备_信息:1000

主体:测试

nonce_字符串:ibaiVcKdpRxkhJA

步骤1:根据key=value的格式和参数名称的ASCII字典顺序对参数进行排序,如下所示:

字符串A=appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibaiVcKdpRxkhJA;

步骤2:拼接API键:

stringSignTemp=stringA&key=192006250b4c09247ec02edce69f6a2d

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

此时的符号用于wx。requestPayment上传参数paySign。

发送的最终数据如下:

wxd930ea5d5a258f4f

10000100

1000

测验

ibaiVcKdpRxkhJA公司

9A0A8659F005D6984697E2CA0A9CF3B7

推荐阅读