cari
Rumahphp教程php手册ThinkPHP微信扫码支付接口,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 />
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.