微信小程序开发和支付步骤概述
App开发
小程序开发
浏览:510 次

发展已逐渐发展到支付阶段。对于许多从事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

推荐阅读