由于工程的需要,在H5页面添加微信支付,所以试试看,只是想说真的很坑,尤其是调试不方便。
这是WeChat的官方API
文档,WeChat API
制备微信
申请公众电话号码并申请付款。这很简单,百度
申请完成后,支付授权
目录是和微信公众平台页面
配置选项卡的发展建立和测试授权目录
选项卡上的测试,和白名单测试。
Find AppID(应用ID)和AppSecret(应用的关键)在微信公众平台
网页开发人员中心
在业务平台,
发现微信支付和配送业务,并配置一个商人支付的关键。
具体
步骤 首先,微信支付API支付prepay_id,这里使用上面提到的AppID(ID)、AppSecret(应用的关键),WeChat支付分销业务,支付的商户密钥和其他
参数(对WeChat开发文档的具体
参考)使用MD5加密成签名(首先获得签名)prepay_id,prepay_id和其他一些参数(对WeChat开发文档的具体参考)和MD5加密成签名(二次签名)然后微信内置的
浏览器提供的JS面前weixinjsbridge.invoke在API调用微信支付的弹出窗口,在这里签字需要二倍以上。
具体代码如下
获取( xxx),
函数(数据){
如果(数据数据= {){!)
无功_data =美元。parseJSON(数据){ 0 };
如果(parseInt(_data。UserAgent)<5){
警报(微信版本低于5,不能通过微信支付!;
返回false;
}
WeixinJSBridge.invoke('getbrandwcpayrequest,{
_data.appid AppID,
时间戳:_data.timestamp,
noncestr:_data.noncestr,
包:'prepay_id =+ _data.packageone,
自动:_data.signtype,
paysign:_data.paysign
}函数(RES){
如果(res.err_msg = 'get_brand_wcpay_request:OK){
警报('payment成功,返回订单列表!);
} else if(res.err_msg = 'get_brand_wcpay_request:
取消){
警报('cancel付款!);
}
});
}
});
需要注意的几个简单点
在开发平台上配置的付款链接和链接不匹配。
总共需要2个签名,所需参数是不同的。js中使用的签名是第二个签名,不要混淆参数传递的失败。
如果有需要躲避中国的一些问题尚未完全
解决,是一个失败的不判断时间的
位置,如果在WeChat的弹出要停留太久,也许这个订单已经在微信支付我们的
网站失败仍然可以成功,如果有人知道为了解决这个问题,希望能够对解决方案