thinkphp整合系列之微信扫码支付
来源:互联网 发布:dedelu.com最新域名 编辑:程序博客网 时间:2024/05/16 05:17
微信作为移动互联网的航空母舰;
在支付发力后;现在也是不容小觑的;
在线下的很多场景中比支付宝更甚;
君不见连路边的小贩都支持二维码扫一扫支付了;
此处是省略500字的微信支付开通过程;
示例项目:https://github.com/baijunyao/thinkphp-bjyadmin
一:导入sdk
/ThinkPHP/Library/Vendor/Weixinpay
鹅厂的sdk那酸爽谁用谁知道;就不吐槽了;项目中的sdk是我根据官方文档重构精简打造而成的;
二:配置项
/Application/Common/Conf/config.php
1
2
3
4
5
6
7
'WEIXINPAY_CONFIG'
=>
array
(
'APPID'
=>
''
,
// 微信支付APPID
'MCHID'
=>
''
,
// 微信支付MCHID 商户收款账号
'KEY'
=>
''
,
// 微信支付KEY
'APPSECRET'
=>
''
,
// 公众帐号secert (公众号支付专用)
'NOTIFY_URL'
=>
'http://baijunyao.com/Api/Weixinpay/notify'
, // 接收支付状态的连接
),
开通微信支付后;会收到一封包含账号密码的邮件;登录微信支付凑齐上面这些参数;
三:支付函数
/Application/Common/Common/function.php
1
2
3
4
5
6
7
8
9
10
function
weixinpay(
$order
){
$order
[
'trade_type'
]=
'NATIVE'
;
Vendor(
'Weixinpay.Weixinpay'
);
$weixinpay
=
new
\Weixinpay();
$weixinpay
->pay(
$order
);
}
调用函数会生成一个二维码;用微信扫码即可支付;
1
2
3
4
5
6
7
8
9
// 虚拟的订单 请根据实际业务更改
$time
=time();
$order
=
array
(
'body'
=>
'test'
,
'total_fee'
=>1,
'out_trade_no'
=>
strval
(
$time
),
'product_id'
=>1
);
weixinpay(
$order
);
四:异步接收通知
/Application/Api/Controller/WeixinpayController.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
public
function
notify(){
// 导入微信支付sdk
Vendor(
'Weixinpay.Weixinpay'
);
$wxpay
=
new
\Weixinpay();
$result
=
$wxpay
->notify();
if
(
$result
) {
// 验证成功 修改数据库的订单状态等 $result['out_trade_no']为订单id
}
}
和支付宝不同的是;微信支付并没有支付成功后跳转回来的过程;所以都是异步接收通知的;
/
public
function
notify(){
// 下面的file_put_contents是用来简单查看异步发过来的数据 测试完可以删除;
file_put_contents
(
'./notify.text'
, json_encode(
$_POST
));
// 导入微信支付sdk
Vendor(
'Weixinpay.Weixinpay'
);
$wxpay
=
new
\Weixinpay();
$result
=
$wxpay
->notify();
if
(
$result
) {
// 验证成功 修改数据库的订单状态等 $result['out_trade_no']为订单id
}
}
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com
http://baijunyao.com/article/77阅读全文
0 0
- thinkphp整合系列之微信扫码支付
- thinkphp整合系列之微信公众号支付
- thinkphp整合系列之微信公众号支付
- thinkphp整合系列之微信公众号支付
- thinkphp整合系列之微信公众号支付
- thinkphp整合系列之phpqrcode生成二维码
- ThinkPHP整合微信支付之JSAPI模式
- ThinkPHP整合微信支付之刷卡模式
- ThinkPHP整合微信支付之刷卡模式
- ThinkPHP整合微信支付之JSAPI模式
- thinkphp 整合微信支付
- ThinkPHP整合微信支付之Native 扫码支付 模式二
- ThinkPHP整合微信支付之Native 扫码支付 模式一
- ThinkPHP整合微信支付之Native 扫码支付 模式一
- ThinkPHP整合微信支付之Native 扫码支付 模式二
- thinkphp整合系列之友盟消息推送
- thinkphp整合系列之融云即时通讯在线聊天
- thinkphp整合系列之tcpdf类生成pdf文件
- C语言关于整数和浮点数的输出
- hdoj 2015
- Android绘图机制与处理技巧(四)Android图像处理之图形特效处理
- 群发邮件
- 北大AI公开课 第三讲 人工智能驱动的金融生活服务
- thinkphp整合系列之微信扫码支付
- hdoj 2016
- 本机ip、127.0.0.1和0.0.0.0区别
- 工厂模式
- asp.net mvc发送邮件实例讲解
- Git安装与创建代码仓库
- hdoj 2017
- 走向云计算之Zookeeper简介和使用场景
- pythn的gzip压缩