laravel前后端分离,微信公众号支付遇到的坑。

作者: 拍个黄瓜G | 来源:发表于2017-12-13 18:16 被阅读150次
                              主要是后端思想
    

    1.首先,你要下载微信的php版本sdk。但是由于sdk版本比较老,不会自动引入


    image.png

    上面的这个文件是官方微信sdk的这个文件 /WxpayAPI_php_v3.0.1/example/Wxpay.JsApipAy.php


    image.png

    你需要把每个文件都改成laravel支持的自动引入的样子。也就是加上命名空间,和use引入。这只是其中的一个文件。注意运行composer dump-autoload命令


    image.png

    2.设置AppId等一系列东西


    image.png
    image.png

    《设置的支付目录是前端的目录,授权的域名是后端的》
    请确保实际支付时的请求目录与后台配置的目录一致,否则将无法成功唤起微信支付


    image.png
    image.png
    上面的这两个必须设置的,还有可能遇到的坑是,你的ip地址没有添加到ip白名单里面。

    下面进入主题
    一,先获取code,给前端返回个url,前端先请求微信支付的接口,然后接口返回一个url。前端再用js请求这个url,来获取code值。


    image.png

    这个返回的url里并没有code值,只有js请求这个url才会有code值。拿到code值之后


    image.png
    这个方法返回的参数缺少个signature签名的参数。这个参数
    1.首先要获得access_token
    2.在获取ticket。下面这个图片是写在定时任务里面,一个小时更新token
    image.png

    3.最后把ticket值和一些别的参数,用sha1方法,加密拼接成signature


    image.png

    前端的坑就是


    image.png

    相关文章

      网友评论

      本文标题:laravel前后端分离,微信公众号支付遇到的坑。

      本文链接:https://www.haomeiwen.com/subject/phrzixtx.html