前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >thinkphp整合系列之微信扫码支付

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

作者头像
96php.cn
发布2018-04-28 15:20:42
1.2K0
发布2018-04-28 15:20:42
举报
文章被收录于专栏:www.96php.cnwww.96php.cnwww.96php.cn

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

一:导入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 $order 订单 必须包含支付所需要的参数 body(产品描述)、total_fee(订单金额)、out_trade_no(订单号)、product_id(产品id)  
  */ 
function weixinpay($order){
   $order['trade_type']='NATIVE';
   Vendor('Weixinpay.Weixinpay');
   $weixinpay=new \Weixinpay();
   $weixinpay->pay($order); 
 }

调用函数会生成一个二维码;用微信扫码即可支付;

// 虚拟的订单 请根据实际业务更改
 $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

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

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

//*************************收到反馈后补充的分割线*********************************

如果是整合到自己已有的项目中;则需要添加生成二维码的函数;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年1月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云支付
云支付(Cloud Pay,CPay)为您提供开放、可靠的聚合收款技术服务和商户管理功能。云支付支持刷卡支付、扫码支付、一码多付多种支付方式。服务商也可使用云支付提供的 SDK 和 HTTPS 接口,将云支付集成进自己的系统中,为商户提供的个性化解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档