Maison  >  Article  >  php教程  >  thinkphp3.2.3 微信支付_扫码支付_带回调

thinkphp3.2.3 微信支付_扫码支付_带回调

WBOY
WBOYoriginal
2016-09-23 03:29:583022parcourir

吧微信支付的示例代码修改成tp中直接使用的实例代码,并简单的做了扫码支付以及回调功能
吧微信支付的示例代码修改成tp中直接使用的示例代码,并简单的做了扫码支付以及回调功能
用的是模式2,有必要你可以直接拿模式一的代码执行就可以的。
类的导入看一下我的导入你就明白怎么导入了。以后再也不用担心这个玩意儿了。
代码参考如下
生成支付二维码的实例代码:public function index() {<br>         import ( "@.Controller.WxPay.WxPayNativePay" );<br>         $notify = new \WxPayNativePay ();<br>         $url1 = $notify->GetPrePayUrl ( "123456789" );<br>         // 模式二<br>         /**<br>          * 流程:<br>          * 1、调用统一下单,取得code_url,生成二维码<br>          * 2、用户扫描二维码,进行支付<br>          * 3、支付完成之后,微信服务器会通知支付成功<br>          * 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)<br>              * @作者 希尔瓦柯<br>              * @时间 2016-9-22下午3:41:59<br>          */<br>         // $price = $_POST ['price'];<br>         // $prodect_id = $_POST ['prodect_id'];<br>         // $premission_name = $_POST ['premission_name'];<br>         $price = 0.01;<br>         $prodect_id = rand ( 2, 8 );<br>         $premission_name = $prodect_id;<br>         // 开始处理<br>         $input = new \WxPayUnifiedOrder ();<br>         $input->SetBody ( "xxxx---" . $premission_name );<br>         $input->SetAttach ( "xxxxx-Attach" );<br>         $input->SetOut_trade_no ( \WxPayConfig::MCHID . date ( "YmdHis" ) );<br>         $input->SetTotal_fee ( $price * 100 );<br>         $input->SetTime_start ( date ( "YmdHis" ) );<br>         $input->SetTime_expire ( date ( "YmdHis", time () + 600 ) );<br>         $input->SetGoods_tag ( "xxx-tag" );<br>         $input->SetNotify_url ( "http://xxxx.com/wxtest/index.php/home/Index/notify" );<br>         $input->SetTrade_type ( "NATIVE" );<br>         $input->SetProduct_id ( rand ( 4, 8 ) );<br>         $result = $notify->GetPayUrl ( $input );<br>         $url2 = $result ["code_url"];<br>         // 生成二维码<br>         error_reporting ( E_ERROR );<br>         import ( "@.Controller.WxPay.PHPQRCODE" );<br>         $url = urldecode ( $url2 );<br>         \QRcode::png ( $url );<br>     }微信支付回调处理的实例代码:/**<br>      * @功能描述:微信支付回调处理<br>      * @作者 希尔瓦柯<br>      * @时间 2016-9-22下午3:41:59<br>      */<br>     public function notify() {<br>         // 获取微信回调的数据<br>         $notifiedData = $GLOBALS ['HTTP_RAW_POST_DATA'];<br>         // 加载相关的类<br>         import ( "@.Controller.WxPay.WxPayNativePay" );<br>         import ( "@.Controller.WxPay.WxPayData" );<br>         import ( "@.Controller.WxPay.WxPayNotify" );<br>         import ( "@.Controller.WxPay.PayNotifyCallBack" );<br>         $xml_to_arr = \WxPayDataBase::FromXml_4_babbage ( $notifiedData );<br>         // 转成数组 并写入缓存<br>         F ( "wx_notified_data", $xml_to_arr);<br>         // 吧xml原型也写入xml<br>         F ( "wx_notified_data_xml", $notifiedData );<br>         <br>         // 给微信返回支付状态值<br>         $notify = new \PayNotifyCallBack ();<br>         // 返回状态<br>         $notify->Handle ( false );<br>     }希望像我这样技术弱的同行有所帮助

附件 wxpay4tp.zip ( 1.25 MB 下载:8 次 )

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn