
微信H5公众号支付操作流程详解
首先,我们得了解微信支付和支付宝商家平台一样,都需要经过资质审核,OD体育官网。支付宝个人认证后可以使用担保支付,尽管需要在用户确认收货后才能收到资金,但至少是可行的。而微信则不允许个人使用支付功能,只有企业级别以上的服务号才能申请。
**开通与认证过程**
注册支付宝企业账号并进行企业认证,整个过程我只用了大约10分钟,包括公司资质审核、打款到公账确认公账等步骤,效率极高。而微信支付则需要先拥有已认证的服务号才能开通支付功能。提交资质后,经过5个工作日的审核,微信告诉我资质审核通过了,这个时间还是符合他们承诺的2-7个工作日完成的。
**开通支付**
支付宝需要签约服务,我选择的是即时到账服务,整个过程花费了2天时间。微信支付在认证完成后,只需登录商户平台进行配置即可开通,从速度上比支付宝更快,因为微信将支付用途等配置放在了认证的第一步,而支付宝则是在签约服务中进行审核。
完成这些步骤后,就可以开始开发了。尽管如此,从整体进度来看,支付宝在速度上略胜微信一筹。
**开发过程**
根据支付宝和微信的支付平台文档进行接入。支付宝提供了DEMO,修改后即可完成。微信的文档则在微信公众平台和商户平台分别有不同版本,内容也不尽相同。由于我主要需要在公众号内进行支付,因此选择了微信的JSAPI。在公众平台中,关于JS支付的部分内容如下:
```javascript
wx.chooseWXPay({});
```
这里,`prepay_id`是通过微信支付统一下单接口获取的,`paySign`采用统一的微信支付签名生成方法,注意`appId`也需要参与签名,与`config`中传入的`appId`保持一致。
微信支付统一下单接口文档:[http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1](http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1)
微信支付签名算法:[http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_3](http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_3)
微信支付开发教程:[https://mp.weixin.qq.com/paymch/readtemplate?t=mp/business/course3_tmpl&lang=zh_CN](https://mp.weixin.qq.com/paymch/readtemplate?t=mp/business/course3_tmpl&lang=zh_CN)

在商户平台中也可以找到详细的文档。
**实例演化**
1. 点击支付,调用支付接口。
2. 获取code。
3. 将code传给后台,后台返回值发起微信支付。
具体代码实现可参考以下示例:
```javascript
$('#pay_vip').click(function(){
location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=公司提供&redirect_uri=https%3a%2f%2fapp.zhugezhidai.com%2finterface%2ftemplate%2fpay.html&response_type=code&scope=snsapi_base&state=xxxx_state#wechat_redirect';
})
// 获取code的函数
function getQueryString(name) {
//alert(getQueryString("code"));
var code = getQueryString('code');
}

// 将code传给后台,后台返回值发起微信支付
$.ajax({
//...
});
// 微信支付成功后的回调函数
function onBridgeReady() {
//...
}
// 判断支付结果
,OD体育官方function onBridgeReady() {
//...
}
```
需要将参数替换为自己的信息,这样整个支付流程就完成了。
对于微信公共文档网址([https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6](https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)),也可以作为参考。