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 />

thinkphp是国产框架。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。

本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了关于使用think-queue来实现普通队列和延迟队列的相关内容,think-queue是thinkphp官方提供的一个消息队列服务,下面一起来看一下,希望对大家有帮助。

thinkphp基于的mvc分别是指:1、m是model的缩写,表示模型,用于数据处理;2、v是view的缩写,表示视图,由View类和模板文件组成;3、c是controller的缩写,表示控制器,用于逻辑处理。mvc设计模式是一种编程思想,是一种将应用程序的逻辑层和表现层进行分离的方法。

本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了使用jwt认证的问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于ThinkPHP的相关知识,其中主要整理了使用think-queue实现redis消息队列的相关问题,下面一起来看一下,希望对大家有帮助。

thinkphp查询库是否存在的方法:1、打开相应的tp文件;2、通过“ $isTable=db()->query('SHOW TABLES LIKE '."'".$data['table_name']."'");if($isTable){...}else{...}”方式验证表是否存在即可。

thinkphp扩展有:1、think-migration,是一种数据库迁移工具;2、think-orm,是一种ORM类库扩展;3、think-oracle,是一种Oracle驱动扩展;4、think-mongo,一种MongoDb扩展;5、think-soar,一种SQL语句优化扩展;6、porter,一种数据库管理工具;7、tp-jwt-auth,一个jwt身份验证扩展包。

thinkphp设置伪静态去除目录的方法:1、在httpd.conf配置文件中加载mod_rewrite.so模块;2、将httpd.conf中Allowoverride None的None改为All;3、修改对应的项目配置文件;4、在项目的根目录下面建立一个.htaccess文件即可。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中