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

简介: 微信APP支付接口申请微信APP支付和其他支付接口最大的不同在于——申请方式无论是JS支付、PC支付还是WEB支付,都是用通过微信的公众进行申请的,但APP支付却是通过微信开放进行申请的。

微信APP支付

接口申请

微信APP支付和其他支付接口最大的不同在于——申请方式
无论是JS支付、PC支付还是WEB支付,都是用通过微信的公众进行申请的,但APP支付却是通过微信开放进行申请的。
开放申请微信支付的流程要比公众更复杂,需要验证的内容更多,还需要认证为开发者,一般来说,申请需要一个星期的时间。
还有更令人头疼的是,公众申请微信支付时需要申请一个商户账号作为收款账号,开放申请支付接口的时候又要再申请一个。也就是说,如果你的项目既有APP又有微信版或者PC版,那么一个项目里面会出现两个微信的收款账号。
很多客户对这个问题简直接受无能,为此特意咨询过腾讯客服,他们表示恩……就是这样的
所以,如果你的项目需要开发微信APP支付,请关注下面几点:

1. 一定要提前一周去申请接口
2. 一定要去微信开放申请
3. 一定要把整个申请流程走完

申请完之后我们需要添加一个移动应用
这里留意一下,其实微信登录微信分享也是在这里申请的。

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

微信APP支付需要的参数和JS支付大致相同:

1. APPID——在创建好的移动应用详情中查看
2. APPSECRET——在创建好的移动应用详情中查看
3. MCHID——商户号的ID,注意是和微信开放关联的那个商户号
4. KEY——商户号自己设置的KEY,注意是和微信开放关联的那个商户号的KEY

调试阶段

APP支付的发起是在服务端完成的,APP只是负责调起微信。服务端需要做两件事情:

1. 组合支付参数,请求统一下单接口,生成预支付订单
2. 把预支付订中的信息重新组合,再签好名,传给APP

相比JS支付少了一个获取OPENID的过程,相比PC支付少了一个轮训支付结果的过程,是不是感觉更简单了呢?
那当然是不可能的,APP支付最恐怖的地方在于联调,因为APP请求发起支付如果失败,并不会返回具体的失败原因,往往是直接弹出服务器繁忙,请稍后再试。
你虽然知道有错,但你又只能一遍又一遍的去阅读日志和代码。要知道,只盯着代码看就能把BUG解决的程序员,那可都是高手。如果遇到了,我的解决方式是:仔细的看着官方文档,认真的把代码再重写一遍

在此之前,我给大家的建议是——反复检查参数是否正确
参数是大概率出错的地方。

WEB支付

微信的四种类型的支付方式里面,该注意的事情,已经和大家分享完了。
传送门:
PHP支付接口教程,详解微信支付(一)
PHP支付接口教程,详解微信支付(二)
剩下一个WEB支付,场景是在触屏版使用微信支付。估计是用户体验或者安全性的问题,能申请到这个接口的情况比较少见(我只知道美团有),所以就不单独说它了。希望后面微信会让更多的公司申请WEB支付接口。
它的发起形式是这样的:

https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20160916105028ff2e3214fa0906951107&package=2460852120

也是通过统一下单接口获取预支付订单号,然后点击链接就能打开微信,完成支付,是不是感觉特方便。
写在最后
不得不说,微信家的支付接口集成确实要比其他家来的难,各种官方DEMO也写得比较复杂,但只要静下心来,问题总会解决的。
虽然我觉得微信都是坑,其实也有可能是自己水平不够吧。
如果有问题欢迎留言讨论,希望能对大家有帮助!


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

目录
相关文章
|
2月前
|
小程序
【微信小程序-原生开发】实用教程12 - 注册页(含获取用户微信昵称,原生form的表单提交,t-result 的使用)
【微信小程序-原生开发】实用教程12 - 注册页(含获取用户微信昵称,原生form的表单提交,t-result 的使用)
30 0
|
2月前
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
52 0
|
2天前
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
|
1月前
|
小程序 编译器 数据安全/隐私保护
小白保姆级教程:微信公众号开发,从0到1
【8月更文挑战第8天】小白保姆级教程:微信公众号开发,从0到1
62 3
小白保姆级教程:微信公众号开发,从0到1
|
24天前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
18 2
|
20天前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
1月前
|
网络协议 API PHP
PhalApi:在宝塔一键安装部署PHP开源接口框架的教程
要在宝塔面板上一键安装部署PhalApi开源接口框架,首先进入宝塔软件商店,切换到“一键部署”选项,搜索“phalapi”并点击“一键部署”。安装时需填写接口域名、数据库名及密码,提交后等待安装完成。安装成功后可在宝塔面板中查看新站点和源代码目录,并通过DNS解析设置访问接口域名,如`http://myapi.phalapi.net/`。默认开启的调试模式便于测试,可通过修改`config/sys.php`中的`debug`值为`false`关闭。最后,在源代码中开发自己的PHP接口,PhalApi会自动生成在线接口文档,方便后续调用与维护。更多详细教程可参考官方文档。
|
2月前
|
小程序 PHP
全新UI自助图文打印系统小程序源码 PHP后端 附教程
全新UI自助图文打印系统小程序源码 PHP后端 附教程
175 2
|
2月前
|
小程序
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
458 0
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
|
2月前
|
小程序 前端开发
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
113 0