博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信支付(公众号支付JSAPI)
阅读量:6856 次
发布时间:2019-06-26

本文共 1460 字,大约阅读时间需要 4 分钟。

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

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

官方链接:

步骤二:平台配置

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

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

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

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

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

解决方案:

参考链接:

步骤三:开发流程

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

官方文档:

关于获取openid:

  1. window.location.href = ''

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

  1. 获取到code后请求以下链接获取access_token: 拿到我们需要的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. 签名错误。 显示签名错误,即后台传输的签名有误。按照官方文档: 重新生成传输即可。如果还不行,先检查微信公众平台内ip白名单是否添加了服务器IP和线上域名IP,如果都添加了再次生成一次API秘钥。
  2. 商户平台开发配置,支付授权目录内地址需明确至支付的当前页面 eg:

转载地址:http://kmiyl.baihongyu.com/

你可能感兴趣的文章
广搜,深搜,单源最短路径,POJ(1130),ZOJ(1085)
查看>>
简单深搜
查看>>
HDU 3625 第一类斯特林数
查看>>
HDU 5726 GCD
查看>>
ACM-ICPC(10 / 9)
查看>>
GIT在windows下搭建
查看>>
shell编程系列26--大型脚本工具开发实战
查看>>
如何改变PMO在组织中的尴尬处境的?
查看>>
sys.argv[]
查看>>
What's the best Linux server for you? == 最佳Linux服务器发行版
查看>>
docker swarm英文文档学习-1-概述
查看>>
Bootstrap网格
查看>>
IM(XMPP)介绍
查看>>
HDU3188 Just A Triangle【水题】
查看>>
HDU3782 xxx定律【数学计算+水题】
查看>>
趣味程序之趣味系列
查看>>
8.使用下拉列表框进行多选
查看>>
@responseBody注解的使用
查看>>
用maven在eclipse中创建Web项目
查看>>
移动端web开发JS使用Date()的值为invalid Date或者为NaN
查看>>