Laravel微信公众号支付开发总结

一、开发准备工作

    1.登录微信公众平台,完成微信服务号认证(这样才能有微信支付的权限);

    2.申请“微信支付”;


    3.申请云服务器和域名;


二、微信公众号支付正式开发

    1.在微信支付-->使用教程-->公众号支付,即可查看微信公众号支付开发文档,下载PHP的SDK和DEMO文档,解压后目录如下;


    2.按照doc文件夹下的说明文档;

    a、替换cert中API证书文件(在商户平台-->账户中心-->API 安全中下载)


    b、修改lib/WxPay.Config.php中的配置信息(APPID、MCHID好说,KEY和APPSECRET需要设置)

KEY: 在商户平台-->账户中心-->API 安全中,设置API秘钥(这里设置为32位随机字符串,自己定义,注意保存);


APPSECRET:在微信公众平台-->开发-->基本配置,重置开发者密码(AppSecret),顺便添加IP白名单;


    3.把解药的SDK拷贝到自己想放的目录,我的是放app/Http/WxAPI文件夹下,在控制器的方法中就可以调用demo中下单的方法,通过return view('wxpay.payment',['jsApiParameters'=>$jsApiParameters,'total_fee'=>$total_fee]); 返回参数到前台页面,前台调用jsapi实现支付;



    开发过程中踩过的坑:

    a、找不到类,无法实例化;(检查是否声明namespace、require文件路径)

    

    b、在//①、获取用户openid时,代码执行到$openId = $tools->GetOpenid();服务器回调返回code时(这里微信服务器 返回code时是直接在url地址后面加上code的值,因此注意是get方式传值),控制器中该跳转方法会执行两次,并且返回的code值不一样;


    解决办法如下,在拼接地址后面加&connect_redirect=1;(网上搜的,为什么这么加没找到~0~);


    c、提示url未注册时,检查微信商户平台-->产品中心-->开发配置-->公众号支付中,支付授权目录是否添加;


    d、在notify_url回调地址中总是收不到微信服务器返回的<xml>数据;

第一步:检查路由是否为post方式传值,因为服务器返回的数据流是通过post传给商户平台的;

第二步:如果还是无法收到,可以通过在线测试工具,模拟服务器返回<xml>数据,检测代码是否有问题;(https://getman.cn/  )仅供参考,我也是网上随意找的一个;



三、官方文档阅读意见

    1.微信公众平台-->开发-->开发者工具选项下的“开发者文档”中可以重点了解如下目录和微信JS-SDK说明文档中“微信支付- 发起 一个微信请求”部分,内容不多,可以借鉴;


    2.微信公众平台-->微信支付-->使用教程-->公众号支付,可以重点了解如下部分;


以上为微信公众号开发心得,有很多不足,仅供参考。


四、网上视屏笔记

微信开发需要具备的条件:

1.服务号(企业);2.通过微信认证(300元/年);3. 开通微信支付功能;4.通过备案的IP地址(仅限80端口)


步骤:

1.验证JSSDK(第一次签名)

    a、获取access_token;b、获取jsapi_ticket;c、签名(sha1);d、返回参数;

2.获取预处理prepare_id(第二次签名)    

    2.1.获取openid

    a、获取code;b、通过code获取openid;

    2.2.notify_url

    2.3.签名(md5)

    2.4.获取prepare_id

3.返回微信支付参数(第三次签名)

    a、获取prepare_id;b、签名(md5);c、返回参数;


    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值