uniapp微信支付详细流程及方法
时间: 2023-10-10 09:14:48 浏览: 97
微信支付流程
1. 配置微信支付
在uniapp项目根目录下的manifest.json文件中,找到“app-plus”节点,添加以下配置:
```
"app-plus": {
"appid": "your appid",//微信开放平台申请的appid
"oauth": {
"scope": "snsapi_userinfo",
"appid": "your appid",//微信开放平台申请的appid
"secret": "your secret",//微信开放平台申请的secret
"redirect_uri": "redirect uri"
},
"payment": {
"wechat": {
"mch_id": "your mch_id",//商户号
"key": "your key",//支付密钥
"cert_path": "path to your cert file",//证书文件路径
"key_path": "path to your key file",//密钥文件路径
"notify_url": "your notify url"//支付结果回调地址
}
}
}
```
其中,appid、secret、mch_id、key、cert_path、key_path、notify_url需要根据实际情况填写。
2. 发起支付请求
在需要发起支付请求的页面中,引入uniapp官方提供的uni.requestPayment方法,调用该方法即可发起微信支付请求。
```
uni.requestPayment({
provider: 'wechatpay',
timeStamp: 'your timestamp',
nonceStr: 'your nonceStr',
package: 'your package',
signType: 'MD5',
paySign: 'your paySign',
success: function (res) {
//支付成功回调
},
fail: function (res) {
//支付失败回调
}
});
```
其中,timeStamp、nonceStr、package、paySign需要根据微信支付官方文档生成。可以在服务端生成,也可以在客户端生成。
3. 处理支付结果回调
支付结果回调需要在服务端处理,具体处理流程可以参考微信支付官方文档。
在uniapp项目中,可以通过uni.request方法发起支付结果查询请求,获取支付结果。
```
uni.request({
url: 'your query order url',
method: 'POST',
data: {
out_trade_no: 'your out_trade_no'
},
success: function (res) {
//处理支付结果
},
fail: function (res) {
//支付结果查询失败
}
});
```
其中,out_trade_no为商户订单号,需要和发起支付请求时传递的out_trade_no保持一致。
以上就是uniapp微信支付详细流程及方法。需要注意的是,在进行微信支付前,需要先申请微信开放平台的相关权限并完成配置。
阅读全文