最近折腾微信扫码支付,看了微信官方文档,找了很多网页,发现和文档/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><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><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></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><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></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></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> h2><span>订单信息<span>h2><br> div <span>class=<span>"orderNumber"><br> p <span>class=<span>"a"><span>订单号:<span>"{$v_oid}"<span>p><br> p <span>class=<span>"b"><br> span <span>class=<span>"left"><span>应付金额:strong>em><span>{$v_amount}<span>em><span>元<span>strong><span>span><br> span <span>class=<span>"right"><span>付款后,飞行之翼客服会与您联系,如有问题请咨询<span>24<span>小时飞行热线 <span>400-700-2016<span>span><br> <span>p><br> <span>div><br> h2><span>微信支付<span>h2><br> img <span>src=<span>"{:U('qrcode')}?data={$data}" <span>alt=<span>"<span>微信扫码<span>"><br> div <span>class=<span>"order-submit">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><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>
以上就介绍了ThinkPHP微信扫码支付接口,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

准备工作用vuecreateexample创建项目,参数大概如下:用原生input原生的input,主要是value和change,数据在change的时候需要同步。App.tsx如下:import{ref}from'vue';exportdefault{setup(){//username就是数据constusername=ref('张三');//输入框变化的时候,同步数据constonInput=;return()=>({

laravel input隐藏域的实现方法:1、找到并打开Blade模板文件;2、在Blade模板中使用method_field方法来创建隐藏域,其创建语法是“{{ method_field('DELETE') }}”。

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code<form name="myform"

Vue.js是一种轻量级的JavaScript框架,具有易用、高效和灵活的特点,是目前广受欢迎的前端框架之一。在Vue.js中,input框绑定事件是一个十分常见的需求,本文将详细介绍Vue文档中的input框绑定事件。一、基础概念在Vue.js中,input框绑定事件指的是将输入框的值绑定到Vue实例的数据对象中,从而实现输入和响应的双向绑定。在Vue.j


热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漏洞,难度各不相同。请注意,该软件中