thinkphp整合系列之微信扫码支付

微信作为移动互联网的航空母舰;

在支付发力后;现在也是不容小觑的;

在线下的很多场景中比支付宝更甚;

君不见连路边的小贩都支持二维码扫一扫支付了;

此处是省略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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值