主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文主要介绍ThinkPHP实现微信支付(jsapi payment)流程教程的详细讲解,有需要的朋友可以参考一下。
之前写过一篇关于PHP实现微信支付(jsapi支付)的流程的文章。详见文章:PHP实现微信支付(jsapi支付)流程。
当时的环境并没有使用框架。它是通过在域名指向的目录下直接创建一个新目录,然后访问该目录来实现的。然而,当它被应用到框架中时,仍然存在一些问题。在ThinkPHP中,会报告错误,因为路由规则与支付授权目录不同。本文讲的是在TP中整合微信支付的过程。
Goose制作的SDK和文档只是让你看不懂而已。如果你努力工作,当你使用他们的时候你就会知道。文档和SDK不应该尽量简单易懂吗?难道只有硬改造才有可能展现成在鹅厂的高超技术吗?数量...有没有暴露我菜鸟的属性...其实SDK挺好用的,不过我也是在上一篇文章里看到的。在支付完成回调函数中,确实比较混乱。
对于不想被官方绕过的,以及想在TP中使用微信支付的,可以看看大神自己根据官方文档重构做的一个针对TP的支付SDK。我下载了源代码并阅读了它。代码非常优雅简洁,过程简单易懂。见博文:http://baijunyao.com/article/78.
我还是皱了皱眉,用了官方SDK,成功实现了支付。下面跟大家分享一下过程:
1.SDK下载和修改
仅此而已。如果你不知道,请看我上一篇文章:PHP实现微信支付(jsapi payment)的过程,里面详细的介绍了哪些下载的文件需要修改。
2.微信官方账号设置
A.您仍然需要设置网页的授权域名。这没什么特别的;
B.注意这里的支付授权目录。很多使用TP的人在使用重写模式的同时使用重写模式或者使用伪静态模式。此时生成的链接是:http://servername/home/blog/read/id/1;
如果使用PATHINFO模式,生成的链接是:http://servername/index . PHP/Home/Blog/read/id/1。例如,在主页模块下的博客控制器中通过某种方法进行支付。我们支付的授权目录应该是http://serverName/Home/Blog/或者http://serverName/index . PHP/Home/Blog/,这取决于我们自己的tp设置的URL模式。
3.支付流程
(1)统一订购
订单的支付参数配置与上一个基本相同。重点是支付回拨验证环节。因为需要多次调用,所以我直接把参数配置打包在application/common/common/function . PHP中,我的SDK放在项目根目录下的Api目录中,所以在介绍SDK的时候不使用Vendor function。
/* * *微信支付* @ paramstring $ OpenID OpenID * @ param string $商品商品名称* @ param string $附加附加参数,我们可以选择传递一个参数,例如order ID * @param string $order_sn订单号* @ param string $total_fee amount */function wxpay($ OpenID,$ goods,$order_sn,$ total _ fee,$ attach) {require _ once app _ root。"/Api/wxpay/lib/WxPay。Api.php ;require_once APP_ROOT。"/Api/wxpay/payment/WxPay。JsApiPay.php ;require_once APP_ROOT。'/Api/wx pay/payment/log . PHP # 39;;//初始化日志$ loghandler = newclogfilehandler(app _ root,"/Api/wx pay/logs/ ;。日期( # 39;y-m-d # 39;).'。日志 # 39;);$log = Log::Init($logHandler,15);$ tools = new jsapi pay();if(empty($ openId))$ openId = $ tools - gt;get OpenID();$ input = new wxpayunifieorder();$ input - gt;SetBody(商品);//商品名称$ input ->;set attach($ attach);//附加参数可以填充,也可以不填充。如果填充,字符串中不能有空格$ input->。SetOut _ trade _ no($ order _ sn);//订单号$ input ->;SetTotal _ fee($ total _ fee);//支付金额,单位:$ input ->;SetTime _ start(date( ;YmdHis ));//支付发起时间$ input ->:SetTime _ expire(date( ;YmdHis ,time()+600));//支付超时$ input ->;set goods _ tag( ;测试 );//$ input - gt;SetNotify_url(http:// ;。$ _服务器
(3)支持成功回调。
现在支付已经完成,您将输入与之前编写的链接相对应的方法,即
这就是本文的全部内容。希望对大家的学习有帮助。更多相关内容请关注主机参考!
相关建议:
Php服务器集成支付宝APP支付
基于thinkPHP的微信自定义分享功能
这就是ThinkPHP实现微信支付(jsapi支付)的细节。更多请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:ThinkPHP实现微信支付(jsapi支付)(微信支付JSAPI) https://zhujicankao.com/80104.html
评论前必须登录!
注册