微信支付-扫码支付方式在ThinkPHP商城中的使用(第二部分)
本部分内容的视频内容在:http://edu.csdn.net/course/detail/5381
四、利用SDK按照微信规则生成二维码
- 生成支付的数据
需要调用WxPayApi.php中的bizpayurl来生成二维码规则
Bizpayurl()中需要传入参数,这儿只传入了product_id,因为其他参数是SDK自动在我们的配置文件中读取的。
\WxpayApi::bizpayurl($biz)返回的是一个对象,怎么样将对象拼接到url后边成为参数呢?当然是这样形式aaa=dddddd&ccc=fffff
这样Url就完成了,那怎么样将url转换为二维码的图形呈献给用户呢?已经有人写好了PHP生成二维码的类库,要用就拿过来用就行。
五、使用Phpqrcode类库生成二维码
- 怎么样获取phpqrcode
直接将phpqrcode拷贝到thinkphp的Vendor目录下,是这个样子的
- 在控制器中使用phpqrcode
先引入phpqrcode
注意这个是将二维码生成后保存在服务器中哦,已经说过这个不是最好的解决方案的。
关于phpqrcode的更多使用请查看phpqrcode手册
六、扫码界面的呈现
七、扫码之后发生了什么
支付系统就会访问你在配置回调地址时填写的地址。而且会带着一些数据来访问,而且数据的格式是xml格式(微信很多回调数据都这样)。作为开发人员我们肯定需要这些数据做进一步处理。
- 接收微信系统传回的数据
一起来看看带回的xml数据长什么样
<xml><appid><![CDATA[wx005ba882c8519d98]]></appid><openid><![CDATA[oaQH1wCQBzsDfZT0xE8C6pL73vp0]]></openid><mch_id><![CDATA[1345487901]]></mch_id><is_subscribe><![CDATA[Y]]></is_subscribe><nonce_str><![CDATA[bI796LLOvjBrelhV]]></nonce_str><product_id><![CDATA[2877662375]]></product_id><sign><![CDATA[F2DDB1AC7F1B8F470AA751B266E9197C]]></sign></xml>
将xml解析成便于操作的array
- 商户系统后台生成商户订单
在此处你可以拿这些数据来做一些判断和处理操作。根据业务需要自由发挥
- 调用统一下单方法生成预付交易
$input是需要传入的参数,是这个对象
各个参数什么意思呢?查看这儿
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
- notify_url参数解释
notify_url是一个url设置的要求和配置毁掉地址的要求一样,要外网可以访问,备案的,不能带有参数的url。当支付完成后微信支付系统又会带着一些参数访问我们这个url,告诉我们支付结果及其他信息。
- 将生成的预支付数据再传给微信支付系统
因为微信只接受xml数据所以我们要讲对象中的信息拼装成xml数据
为什么要echo呢?因为我们要给微信支付系统而微信支付系统在访问我们的这个方法所以我们echo后微信支付系统能够接收到。
微信支付-扫码支付方式在ThinkPHP商城中的使用(第二部分)相关推荐
- Java之微信支付(扫码支付模式二)案例实战
摘要:最近的一个项目中涉及到了支付业务,其中用到了微信支付和支付宝支付,在做的过程中也遇到些问题,所以现在总结梳理一下,分享给有需要的人,也为自己以后回顾留个思路. 一:微信支付接入准备工作: 首先, ...
- ThinkPHP 整合微信支付 扫码支付 模式二 图文教程
这篇文章主要介绍扫码支付场景二. 目前有两种模式,模式一比模式二稍微复杂点,至于模式一与模式二的具体内容,流程,微信开发文档都有详细介绍,这里就不多说废话,接下来赶紧上教程! Table of Con ...
- 微信支付——扫码支付模式二
项目环境:thinkphp商城 在上篇文章,已经调通sdk写引入进来到thinkPHP中 扫码模式支付二相对来说比较简单,没有多少坑,难点就是支付成功的回调页面,写一个ajax请求每隔3秒执行一次查询 ...
- 微信支付—— 扫码支付
个人认为扫码支付比Jsapi支付从开发和使用上要顺心的多.扫码支付不用担心是PC端还是移动浏览器还是微信客户端访问的问题,生成一个二维码,扫描支付即可. 一些配置和代码SDK以及SDK存在的错误可以参 ...
- 微信支付 扫码后页面无跳转卡住
前提 生成二维码一扫就卡住了.没有页面跳转 原因:生成二维码功能,接口请求错了. 检查接口返回,参数都一一检查了一遍都没问题 <xml> <return_code><![ ...
- php微信支付扫码源码下载,微信支付:扫码支付+APP支付
微信支付:实现了扫码支付.app支付和回调辅助函数 按照微信支付官方SDK的PHP版本,实现了python版本 支付回调定义 @csrf_exempt def wechat_pay_callback( ...
- 【开发技巧】-- 一篇女朋友也能看懂的Spring整合第三方支付(微信支付-扫码支付实现篇)
1.1 为什么要在项目中使用微信支付? 众所周知,支付宝与财付通(微信支付)是如今第三方支付的两大领头企业,同是微信是一个拥有大量用户群体的一个软件,在项目中整合微信支付在一定程度上可以方便用户购物支 ...
- 微信支付——扫码支付Native
1.开通产品.(要实体店拍照) 2.Native支付有两种模式,先介绍第二中模式.公众号appid,小程序appid均可用,付款后展示的通知消息模板不同,移动应用appid不可. 两种模式主要区别: ...
- 支付二维码php能实现吗_(实用篇)微信支付扫码支付php版
include'ArrayToXML.php'; header('Content-Type:text/xml');/*** * 该脚本为当公众该平台接到Native(原生)支付请求时,会调用此回调UR ...
最新文章
- java jdk动态代理学习记录
- Delphi XE5开发的Android启动时黑屏解决方法
- 1.1 sql注入分类与详解
- java获取panel面板画笔_java - paintComponent()与paint()和JPanel vs Canvas在画笔类型的GUI中 - 堆栈内存溢出...
- MySql安装和基本管理
- Atitit. 真正的全中国文字attilax易语言的特点以及范例
- Objective-C 学习笔记1 HelloWorld
- 实验报告(3)-语法分析
- 基于springboot的社区核酸检测统计管理系统
- vmrc安装出现:未能安装 HCmon 驱动程序 (Failed to install the HCmon driver)
- html5 序列帧播放器,Pdplayer 64位版(序列帧动画播放器)V1.0.7.33 免费版
- CactiEZ中文版的安装使用方法
- CSS 实现三级导航目录
- jsp中点击验证码刷新验证码
- liscov替换原则
- UMLChina公众号文章精选(20220227更新精选)
- WebRTC回声消除(1)
- android espresso 教程,Espresso 设置说明
- Windows直接拖拽文件复制到虚拟机Ubuntu
- TF-IDF算法加权