PHP支付接口教程,详解微信支付(二)

简介: PC扫码支付扫码支付首先是要分清楚两种模式:【模式一】:商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产品标识或订单号)。

PC扫码支付

扫码支付首先是要分清楚两种模式:

【模式一】:商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产品标识或订单号)。

【模式二】:商户后台系统调用微信支付【统一下单API】生成预付交易,将接口返回的链接生成二维码,用户扫码后输入密码完成支付交易。

上面是官方的说法,简单来说就是模式一多用于线下,而模式二用于线上。我们所说的扫码支付都是指模式二,它算是4种常用的微信支付方式里面最简单的了。说它简单主要体现在两个地方:

  1. 不需要像微信JS支付一样,获取网页授权,获取OPENID
  2. 不需要组装JS,只用把接口返回的code_url转成二维码然后放到页面上

第一阶段:接口申请

只要在微信公众申请了微信支付的,JS支付和扫码支付就都可以集成。如何申请不会讲的太详细,只需要注意下面几点即可:

  1. 成为公众号的临时管理员
  2. 把公众号和微信商户的账号密码都拿到手
  3. 微信商户需要自己去配置一下秘钥,这个过程会有两次短信验证

会发现,如果只是做扫码支付的话,我们并不需要用到APPSECRET。原因是使用微信扫码的这个过程会验证付款者的身份,所以统一下单时是不需要去获取OPENID的,自然也用不到公众号的接口,也就不需要SECRET。
当然这种只有PC站点的情况很少,所以建议还是把四个参数都拿其,具体的获取位置可以看之前的(一)。
PHP支付接口教程,详解微信支付(一)

第二阶段:配置

支付授权目录

img_26774cf5811c184b7136ffa6fd3dec84.jpe
PHP支付接口教程,详解微信支付(二)

关于授权目录的配置方式在上一篇中有详细描述。这里要注意的是上图里面的扫码支付回调URL,和我们所做的扫码支付并没有任何关系,如果支付出现问题,千万不要认为是这里出了错。

第三阶段:调试

  1. 把你的参数放到项目中并确保他们正确
  2. 测试统一下单接口能否正常获取到预支付订单
  3. 测试支付回调数据是否正常,这里有个小技巧,就是可以直接把code_url发送到你的微信打开,同样是可以完成支付的
  4. 找一个稳定的二维码生成库(例如phpqrcode),把code_url转化成二维码

到这里基本支付就可以验收了,但是体验不太好,和支付宝的扫码相比,微信扫码支付要把二维码放到我们自己的页面上,这就需要我们自己设计一个放二维码的地方。
还有微信扫码支付并不存在前台回调页面一说(其他支付方式都有),意思也就是你扫码支付明明成功了,可是如果不处理的话支付页面将不会有任何反应。给大家两个建议:

  1. 放一个支付成功的按钮到页面上让用户自己确认已付款成功,你只需要在下一个页面验证是否真的付款成功。听起来有点蠢,可是这种方式曾经也被很多大网站使用过。
  2. 在支付页写一个AJAX用轮询的方式不断的向后台询问订单支付的情况,如果返回成功则跳像成功页面。这样会让用户觉得PC和手机似乎是同步的,体验比较好。

写在最后

作为比较简单的支付方式,扫码支付集成起来不会有太多困难,更多的是对于支付页面的处理。
这里需要提一下我们最终的目的,写一个通用的支付类,让支付接口开发变得轻松愉快。目前为止,我们在微信支付上已经遇到了两种不同返回情况:

  1. 通过支付类得到一个按钮,按钮触发微信JSSDK
  2. 通过支付类得到一张二维码图片和一个轮寻页面的JS

第二种情况,即便是把轮寻的JS也封装到支付类中,还是需要自己写一个被轮询的页面,这似乎不是一个很好的设计,因为这样一来,支付发起的流程和页面逻辑之间将产生很强的耦合。具体的解决办法,将在分析完所有的常用支付方式之后再讨论。

希望能对大家有帮助!


img_d65f73ad3413b07da6af693cee5650d4.jpe
PHP支付接口教程,详解微信支付(二)

以上内容属于作者原创,特此申明,如需转载,请取得同意

目录
相关文章
|
12天前
|
JSON 机器人 API
gewe微信机器人搭建教程
GeWe开放平台是基于 微信开放平台的二次封装API服务,开发者可以使用本服务来处理微信中的各种事件,并可以通过后台调用对应的 API 来驱动微信自动执行任务,如自动收发消息、自动化应答、自动群邀请、群管理等,封装了 RPA技术流程,简化开发者二次开发难度,提供了开发者与微信对接的能力,使用简单,操作快捷,支持多种语言接入。
62 17
|
2月前
|
存储 API UED
鸿蒙特效教程02-微信语音录制动画效果实现教程
本教程适合HarmonyOS初学者,通过简单到复杂的步骤,一步步实现类似微信APP中的语音录制动画效果。
139 0
鸿蒙特效教程02-微信语音录制动画效果实现教程
|
3月前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
3445 15
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
4月前
|
关系型数据库 MySQL PHP
新手教程:PHP入门教程
《PHP入门教程》涵盖PHP简介、环境搭建、第一个PHP脚本、基本语法、表单处理、函数定义及进一步学习方向。PHP是一种开源脚本语言,适合Web开发。环境搭建可使用XAMPP/WAMP/MAMP或手动安装Apache、PHP和MySQL。通过编写简单代码和处理表单,逐步掌握变量、字符串、数组、条件语句和循环等基础语法。最后介绍数据库操作、会话管理和面向对象编程等高级特性。
235 70
ly~
|
8月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
182 6
|
3月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
114 20
|
6月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
7月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
8月前
|
PHP Windows
thinkPhP6.0安装教程图解--PHP框架安装
本文是一篇关于ThinkPHP 6.0安装教程的图解,包括环境检查、安装Composer、修改Composer镜像地址、安装ThinkPHP框架以及启动运行ThinkPHP的步骤。文章详细描述了每个步骤的操作方法,并提供了相应的命令和截图,帮助用户理解并顺利完成ThinkPHP 6.0的安装和运行。
thinkPhP6.0安装教程图解--PHP框架安装
|
8月前
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
265 2

热门文章

最新文章