찾다
php教程php手册ThinkPHP微信扫码支付接口,thinkphp支付接口

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

Jun 13, 2016 am 08:43 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 />
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)