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

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

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

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

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

此处是省略500字的微信支付开通过程;

一:导入sdk

/ThinkPHP/Library/Vendor/Weixinpay

鹅厂的sdk那酸爽谁用谁知道;就不吐槽了;项目中的sdk是我根据官方文档重构精简打造而成的;

二:配置项
/Application/Common/Conf/config.php
‘WEIXINPAY_CONFIG’ => array(
‘APPID’ => ‘’, // 微信支付APPID
‘MCHID’ => ‘’, // 微信支付MCHID 商户收款账号
‘KEY’ => ‘’, // 微信支付KEY
‘APPSECRET’ => ‘’, // 公众帐号secert (公众号支付专用)
‘NOTIFY_URL’ => ‘http://baijunyao.com/Api/Weixinpay/notify’, // 接收支付状态的连接
),
复制代码
开通微信支付后;会收到一封包含账号密码的邮件;登录微信支付凑齐上面这些参数;

三:支付函数

/Application/Common/Common/function.php
/**

  • 微信扫码支付
  • @param array o r d e r 订 单 必 须 包 含 支 付 所 需 要 的 参 数 b o d y ( 产 品 描 述 ) 、 t o t a l f e e ( 订 单 金 额 ) 、 o u t t r a d e n o ( 订 单 号 ) 、 p r o d u c t i d ( 产 品 i d ) ∗ / f u n c t i o n w e i x i n p a y ( order 订单 必须包含支付所需要的参数 body(产品描述)、total_fee(订单金额)、out_trade_no(订单号)、product_id(产品id) */ function weixinpay( orderbody()totalfee()outtradeno()productid(id)/functionweixinpay(order){
    $order[‘trade_type’]=‘NATIVE’;
    Vendor(‘Weixinpay.Weixinpay’);
    $weixinpay=new \Weixinpay();
    w e i x i n p a y − > p a y ( weixinpay->pay( weixinpay>pay(order);
    }
    复制代码
    调用函数会生成一个二维码;用微信扫码即可支付;
    // 虚拟的订单 请根据实际业务更改
    $time=time();
    o r d e r = a r r a y ( ′ b o d y ′ = > ′ t e s t ′ , ′ t o t a l f e e ′ = > 1 , ′ o u t t r a d e n o ′ = > s t r v a l ( order=array( 'body'=>'test', 'total_fee'=>1, 'out_trade_no'=>strval( order=array(body=>test,totalfee=>1,outtradeno=>strval(time),
    ‘product_id’=>1
    );
    weixinpay($order);
    复制代码
    四:异步接收通知

/Application/Api/Controller/WeixinpayController.class.php
/**

  • notify_url接收页面
    */
    public function notify(){
    // 导入微信支付sdk
    Vendor(‘Weixinpay.Weixinpay’);
    $wxpay=new \Weixinpay();
    r e s u l t = result= result=wxpay->notify();
    if ($result) {
    // 验证成功 修改数据库的订单状态等 $result[‘out_trade_no’]为订单id

    }
    }
    复制代码
    和支付宝不同的是;微信支付并没有支付成功后跳转回来的过程;所以都是异步接收通知的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值