php微信扫码支付

时间:2022-07-30 16:44:15

一 概述

扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。前几天公司需要做了一下扫码支付 分享一下

首先需要准备的东西

微信给的 appid, mchtd(商户号) ,key ,appsecret

下载微信的sdk

配置 appid mchtd key 和 appsecret

新建文件 barcodepay.php //命名方式 根据自己的习惯

引入 lib/WxPay.Api.php  example/WxPay.NativePay.php /example/log.php

我把这个做成了一个函数   这样方便引用 如果大神有不同的看法可以告知我哦

此处的

$body 是收款标题如

php微信扫码支付

$attch 附加数据

$fee 是多少钱 此处需注意 微信是按分计算的  付款一分就是 1  

$tag 标记

$url 支付成功后通知地址

$proid 商品订单号

还可以加上别的东西 详情请看https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 微信api列表

这样调用的时候直接调用barcodepay这个函数就可以

调用barcodepay();会返回一个地址

可以用ajax的方式写入图片路径 也可以用 <img src="<?php echo barcodepay ?>">

现在扫码即可付款了  支付成功是第一步  支付成功了二维码页面也不会有任何显示的 因为腾讯服务器是异步发送给你的通知

现在就需要编写回调函数了

我的方法如下

打开exmaple/notify.php

代码如下

之后在页面编写ajax 三秒查询一次  每三秒执行一次在这里我就省略了 实际情况是需要的

关于支付成功后ajax请求的php接口在这里就不写了  
到这里微信扫码支付就结束了

需要注意的是 

文件引入路径 和文件与文件直接的路径问题

解决方法 修改路径即可

服务器时间与本地时间 或者是 这个php系统设定的时间  如果不相符会出现

time_expire时间过短,刷卡至少1分钟,其他5分钟

解决方法 检查修改时间

以上程序本人亲测可以运行

有问题可以留言我哦 或者对上面有不同的看法也可以留言哦

有时间会写一下微信h5支付(wap)和微信刷卡支付