微信支付(公众号支付JSAPI)

微信公众号支付/微信浏览器支付(JSAPI)

一:获取微信支付四大参数

官方链接:pay.weixin.qq.com/wiki/doc/ap…

步骤二:平台配置

  1. 配置支付目录:商户平台。

配置此目录是代码中“微信支付”所在页面的地址,一级域名需ICP备案。

  1. 配置授权域名:微信公众平台。

支付过程中需要获取用户openid,必须经过网页授权配置才可以,不然获取不到openid。

中间遇到的小问题: 在放置MP...v4kGCjvXcmR4X90w.txt文件时,已经放置在了服务器下,但在微信公众号配置页面仍提醒未上传。

解决方案:

参考链接:blog.csdn.net/u010634066/…

步骤三:开发流程

微信支付原理即调用官方文档的“统一下单”接口,将微信服务器返回的参数进行加工后返回到前台页面。所有参数解释请参考官方文档:pay.weixin.qq.com/wiki/doc/ap…

官方文档: pay.weixin.qq.com/wiki/doc/ap…

关于获取openid:

  1. window.location.href = 'open.weixin.qq.com/connect/oau…'

点击该路径跳转后,链接内带有参数:code

  1. 获取到code后请求以下链接获取access_token: api.weixin.qq.com/sns/oauth2/… 拿到我们需要的openid
function onBridgeReady(){
   WeixinJSBridge.invoke(
      'getBrandWCPayRequest', {
        "appId": appId,     //公众号名称,由商户传入     
        "timeStamp":timeStamp,         //时间戳,自1970年以来的秒数     
        "nonceStr":nonceStr, //随机串     
        "package":package,     
        "signType":signType,         //微信签名方式:     
        "paySign":paySign //微信签名 
      },
      function(res){
          if(res.err_msg == "get_brand_wcpay_request:ok" ){
          // 使用以上方式判断前端返回,微信团队郑重提示:
                //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
          } 
    });
}
if (typeof WeixinJSBridge == "undefined"){
   if( document.addEventListener ){
       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
   }else if (document.attachEvent){
       document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
   }
}else{
   onBridgeReady();
}
复制代码

遇到的坑

  1. 签名错误。 显示签名错误,即后台传输的签名有误。按照官方文档:pay.weixin.qq.com/wiki/doc/ap… 重新生成传输即可。如果还不行,先检查微信公众平台内ip白名单是否添加了服务器IP和线上域名IP,如果都添加了再次生成一次API秘钥。
  2. 商户平台开发配置,支付授权目录内地址需明确至支付的当前页面 eg:www.baidu.com/payNow/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值