目錄
ThinkPHP微信扫码支付接口,thinkphp支付接口
首頁 後端開發 php教程 ThinkPHP微信扫码支付接口,thinkphp支付接口_PHP教程

ThinkPHP微信扫码支付接口,thinkphp支付接口_PHP教程

Jul 12, 2016 am 08:55 AM
thinkphp 微信 掃碼 介面 支付

ThinkPHP微信扫码支付接口,thinkphp支付接口

最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/demo不匹配,现在自己算是弄出来了(文件名称有所更改),贴出来分享一下

 

一.将有用的官方lib文件和使用的相关文件放置到vendor当中

二.调用同一支付接口

WechatController

<span>//<span>调用同一支付接口<br /><span>public function <span>native(<span>$v_oid<span>=<span>'',<span>$v_amount<span>=<span>''){<br />    <span>ini_set(<span>'date.timezone',<span>'Asia/Shanghai');<br />    <span>error_reporting(<span>E_ERROR);<br />    <span>//<span>添加相关的类文件<br /><span>    <span>vendor(<span>'Wxpay.WxPayApi');<br />    <span>vendor(<span>'Wxpay.log');<br />    <span>vendor(<span>'Wxpay.NativePay');<br />    <span>//<span>初始化日志<br /><span>    <span>$logHandler<span>= new \<span>CLogFileHandler(<span>"../logs/"<span>.<span>date(<span>'Y-m-d')<span>.<span>'.log');<br />    <span>$log <span>= \<span>Log<span>::<span>Init(<span>$logHandler, <span>15);<br />    <span>//<span>接受订单信息<br /><span>    <span>if(<span>trim(<span>$v_oid)<span><><span>"")               <span>//<span>判断是否有传递订单号<br /><span>    {<br />        <span>$v_oid <span>= <span>trim(<span>$v_oid);<br />    }<br />    <span>else<br /><span>    {<br />        <span>$this<span>-><span>error(<span>'<span>订单号为空<span>',<span>U(<span>'User/index'));<br />        <span>exit;<br />    }<br /><br />    <span>$v_amount <span>= <span>trim(<span>$v_amount<span>*<span>100);                   <span>//<span>支付金额<br /><span><br /><span>    <span>//<span>调用同一支付接口<br /><span>    <span>$notify <span>= new \<span>NativePay();<br />    <span>$input <span>= new \<span>WxPayUnifiedOrder();<br />    <span>//<span>商品描述<span>----------------------------<span>需要参数传递<span>/<span>统一信息<br /><span>    <span>$input<span>-><span>SetBody(<span>"<span>商品描述位置<span>");<br />    <span>//<span>附加数据<br /><span>    <span>$input<span>-><span>SetAttach(<span>"<span>附加数据位置<span>");<br />    <span>//<span>商户订单号<br /><span>    <span>$input<span>-><span>SetOut_trade_no(<span>$v_oid);<br />    <span>//<span>总金额<br /><span>    <span>$input<span>-><span>SetTotal_fee(<span>$v_amount);<br />    <span>//<span>开始时间<br /><span>    <span>$input<span>-><span>SetTime_start(<span>date(<span>"YmdHis"));<br />    <span>//<span>结束时间<br /><span>    <span>$input<span>-><span>SetTime_expire(<span>date(<span>"YmdHis", <span>time() <span>+ <span>600));<br />    <span>//<span>商品标记<br /><span>    <span>$input<span>-><span>SetGoods_tag(<span>"<span>商品标记位置<span>");<br />    <span>//<span>异步通知地址<span>,<span>不能携带任何参数<br /><span>    <span>$input<span>-><span>SetNotify_url(<span>U(<span>'NotifyProcess'));<br />    <span>//<span>交易类型<br /><span>    <span>$input<span>-><span>SetTrade_type(<span>"NATIVE");<br />    <span>//<span>商品<span>id<br /><span>    <span>$input<span>-><span>SetProduct_id(<span>"123456789");<br />    <span>//<span>获取同一支付接口结果<br /><span>    <span>$result <span>= <span>$notify<span>-><span>GetPayUrl(<span>$input);<br />    <span>$url2 <span>= <span>$result[<span>"code_url"];<br /><br />    <span>$this<span>-><span>assign(<span>'data',<span>urlencode(<span>$url2));<br />    <span>$this<span>-><span>assign('v_oid',$v_oid);    $this->assign('v_amount',$v_amount/100);    $this->display();}三.生成二维码</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
登入後複製
<span><span>三.</span><span><span>微信支付生成二维码</span><br /><span>public function <span>qrcode(){<br />    <span>error_reporting(<span>E_ERROR);<br />    <span>vendor(<span>'Wxpay.phpqrcode.phpqrcode');<br />    <span>$url <span>= <span>$_GET[<span>"data"];<br />    \<span>QRcode<span>::<span>png(<span>$url);<br />}<br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><span>四.异步处理</span><br /><span>具体处理流程和方式按个人需求</span>
登入後複製
<br /><span>//<span>微信异步查询订单机制<br /><span>public function <span>Queryorder(<span>$transaction_id)<br />{<br />    <span>$input <span>= new \<span>WxPayOrderQuery();<br />    <span>$input<span>-><span>SetTransaction_id(<span>$transaction_id);<br />    <span>$result <span>= \<span>WxPayApi<span>::<span>orderQuery(<span>$input);<br />    \<span>Log<span>::<span>DEBUG(<span>"query:" <span>. <span>json_encode(<span>$result));<br />    <span>if(<span>array_key_exists(<span>"return_code", <span>$result)<br />        <span>&& <span>array_key_exists(<span>"result_code", <span>$result)<br />        <span>&& <span>$result[<span>"return_code"] <span>== <span>"SUCCESS"<br /><span>        <span>&& <span>$result[<span>"result_code"] <span>== <span>"SUCCESS")<br />    {<br />        <span>return true;<br />    }<br />    <span>return false;<br />}<br /><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>五.再来个form表单展示二维码</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><br /></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
登入後複製
<span><<span>form <span>action=<span>"" <span>method=<span>"post" <span>id=<span>"myForm-table"><br />    <<span>h2><span>订单信息</<span>h2><br />    <<span>div <span>class=<span>"orderNumber"><br />        <<span>p <span>class=<span>"a"><span>订单号:<span>"{$v_oid}"</<span>p><br />        <<span>p <span>class=<span>"b"><br />            <<span>span <span>class=<span>"left"><span>应付金额:<<span>strong><<span>em><span>{$v_amount}</<span>em><span>元</<span>strong></<span>span><br />            <<span>span <span>class=<span>"right"><span>付款后,飞行之翼客服会与您联系,如有问题请咨询<span>24<span>小时飞行热线 <span>400-700-2016</<span>span><br />        </<span>p><br />    </<span>div><br />    <<span>h2><span>微信支付</<span>h2><br />    <<span>img <span>src=<span>"{:U('qrcode')}?data={$data}" <span>alt=<span>"<span>微信扫码<span>"><br />    <<span>div <span>class=<span>"order-submit"><<span>a <span>href=<span>"javascript:<span>history<span>.<span>go<span>(-1);" <span>class=<span>"submitOrder Order"><span>返回其他支付方式</<span>a></<span>div><br /></<span>form></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br /><br /><br /><span>成功的图就不附上了,这是我遇到的问题,由于要重构,所以比较乱,无效代码也比较多,需要整理,记录下来,分享一二</span>
登入後複製
<span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
登入後複製
<br /><br />
登入後複製

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1114481.htmlTechArticleThinkPHP微信扫码支付接口,thinkphp支付接口 最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/demo不匹配,现在自己算是弄...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
如何解決使用ThinkPHP6和elasticsearch-php客戶端連接Elasticsearch 8時的cURL error 77問題? 如何解決使用ThinkPHP6和elasticsearch-php客戶端連接Elasticsearch 8時的cURL error 77問題? Mar 31, 2025 pm 11:36 PM

在使用ThinkPHP6框架結合elasticsearch-php客戶端操作Elasticsearch...

PHP中的抽像類和接口有什麼區別? PHP中的抽像類和接口有什麼區別? Apr 08, 2025 am 12:08 AM

抽像類和接口的主要區別在於:抽像類可以包含方法的實現,而接口只能定義方法的簽名。 1.抽像類使用abstract關鍵字定義,可包含抽象和具體方法,適合提供默認實現和共享代碼。 2.接口使用interface關鍵字定義,只包含方法簽名,適合定義行為規範和多重繼承。

ThinkPHP6路由:如何完整獲取包含中文等特殊字符的URL參數? ThinkPHP6路由:如何完整獲取包含中文等特殊字符的URL參數? Apr 01, 2025 pm 02:51 PM

ThinkPHP6路由參數中文處理及完整獲取在ThinkPHP6框架中,處理包含特殊字符(如中文及標點符號)的URL參數,常常...

企業微信中的JS資源緩存問題如何解決? 企業微信中的JS資源緩存問題如何解決? Apr 04, 2025 pm 05:06 PM

企業微信的JS資源緩存問題探討在進行項目功能升級時,常常會遇到部分用戶未能成功升級的情況,尤其是在企�...

公司安全軟件導致應用無法運行?如何排查和解決? 公司安全軟件導致應用無法運行?如何排查和解決? Apr 19, 2025 pm 04:51 PM

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

H5頁面製作和微信小程序有什麼不同 H5頁面製作和微信小程序有什麼不同 Apr 05, 2025 pm 11:51 PM

H5更靈活,可定制性強,但需要嫻熟的技術;小程序上手快,維護便捷,但受限於微信框架。

H5和小程序與APP的區別 H5和小程序與APP的區別 Apr 06, 2025 am 10:42 AM

H5、小程序和APP的主要區別在於:技術架構:H5基於網頁技術,小程序和APP為獨立應用程序。體驗和功能:H5輕便易用,功能受限;小程序輕量級,交互性好;APP功能強大,體驗流暢。兼容性:H5跨平台兼容,小程序和APP受平台限制。開發成本:H5開發成本低,小程序中等,APP最高。適用場景:H5適合信息展示,小程序適合輕量化應用,APP適合複雜功能應用。

公司安全軟件與應用衝突怎麼辦? HUES安全軟件導致常用軟件無法打開如何排查? 公司安全軟件與應用衝突怎麼辦? HUES安全軟件導致常用軟件無法打開如何排查? Apr 01, 2025 pm 10:48 PM

公司安全軟件與應用兼容性問題及排查方法許多企業為了保障內網安全,會安裝安全軟件。然而,安全軟件有時...

See all articles