微信支付

微信支付包括微信H5支付和微信公众号支付

微信H5支付

官方api:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1

一、定义

非微信浏览器H5页面调用微信支付

二、注意事项

1、浏览器一定要关闭无痕模式(否则支付后,返回回调页面,cookie丢失)

2、ios中调用微信支付后,返回回调页面默认会在safari浏览器中打开(chrome浏览器调起支付,完成后会在safari中打开)

三、源码

window.location.href = data.payResponse.mwebUrl + "&redirect_url=" + encodeURIComponent(data.returnUrl);

回调地址redirect_url要url编码

微信公众号支付

官方api:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

一、注意事项:

1、微信公众平台配置网页授权域名

2、微信支付商户平台,js支付域名设置(可以配置到域名,例如 test.A.com/)

3、注意后台配置的商户平台号(存在多个商户号时,防止填错商户号

4、放在微信浏览器内打开

5、支付测试要用真机,不能用微信开发者工具(微信开发者工具会报错)

二、源码如下:

weixinPay(data) {

try {

var vm = this;

if(typeof WeixinJSBridge == "undefined") { //微信浏览器内置对象。参考微信官方文档

if(document.addEventListener) {

document.addEventListener('WeixinJSBridgeReady', vm.onBridgeReady(data), false);

} else if(document.attachEvent) {

document.attachEvent('WeixinJSBridgeReady', vm.onBridgeReady(data));

document.attachEvent('onWeixinJSBridgeReady', vm.onBridgeReady(data));

}

} else {

vm.onBridgeReady(data);

}

} catch(e) {

alert(e)

//TODO handle the exception

}

},

onBridgeReady(data) {

var vm = this;

WeixinJSBridge.invoke(

'getBrandWCPayRequest', {

// debug: true,

"appId": data.mapResult.appId, //公众号名称,由商户传入

"timeStamp": data.mapResult.timeStamp, //时间戳,自1970年以来的秒数

"nonceStr": data.mapResult.nonceStr, //随机串

"package": data.mapResult.package,

"signType": data.mapResult.signType, //微信签名方式:

"paySign": data.mapResult.paySign, //微信签名

//这里的信息从后台返回的接口获得。

"jsApiList": [

'chooseWXPay'

]

},

function(res) {

// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。

if(res.err_msg == "get_brand_wcpay_request:ok") {

}

}

);

},

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文主要和大家分享PHP实现微信支付流程,最近接触到一个项目,涉及到微信支付,搞微信开发这么久以来,还没搞过支付,...
    小流歌_阅读 1,642评论 0 0
  • 公众号支付是指在微信app中访问的页面通过js直接调起微信支付; 一:设置域名 登录微信公众平台; 微信支付中设置...
    月夜曾朦胧阅读 913评论 0 1
  • 在微信服务号开发的时候经常会遇到微信支付的功能实现,通过实际经验自己总结了一下,前端在H5页面调起微信支付有两种办...
    温室寻荒凉阅读 72,749评论 3 41
  • GitStats项目,用Python开发的一个工具,通过封装Git命令来实现统计出来代码情况并且生成可浏览的网页。...
    Rohn阅读 2,307评论 0 1
  • 梦缠绵 若兰 春风不渡玉门关 你握箭,拉满弦 我独立,倚窗前 西风吹瘦了容颜 多少次泪沾襟 思念涌我满怀 你的战旗...
    若兰伊人阅读 148评论 0 0