FreeLocked 微信支付开通笔记

本篇已经完结!

 

开通对象是收乐财(上海)信息科技有限公司,目前运营的房源资讯网站,我们本来是对标 Airbnb 尝试了一些民宿预定的线上平台是否能够吸引一些房东或者租户。网址:FreeLocked.com 

事实上,电话来不及接,我经常遇到来不及支付电话话费等情况,鉴于目前托管客服也省不了多少钱,我们这块暂时没作转移。顺带一提的是,我们的全国热线 400-100-9863。

今天是开通微信支付,API安全的证书已经下载,并且相应 .pem 文件已经上传服务器,提醒自己别忘了。

 

 

开通流程

1.申请企业微信、小程序、微信商户,其中一个ID,并且支付 300 元进行验证;

2.如果验证通过的话,可以登录自己的账号进行核验;

3.申请 API 安全,包括证书申请(下载 .pem 用于接口开发),以及设置 API Key,32位,自己设置的;这里【签名验证】,需要申请【微信平台】证书,是 github 上的项目,自己用 java 运行在服务器端,自动生成一个 .pem 的【微信平台】证书。这一点要注意,因为很容易写上自己的申请的 cert.pem。原因,下文有解释。

4.微信开放的语言,java, php, go 

基本函数都是给出的,比较容易辨识。关键在于依赖包的安装。简言之,微信给出的代码,复制黏贴,改参数,调试几次即可,操作不难的。但是,遇到问题的处理速度,就很考验基础知识了

 

 

2024年1月16日 下午 9:07

今天一整天都在处理 refund ,从反馈来看,是 400 错误,PARAM_ERROR

这个 SCRIPT 很有意思,因为服务器用 php 运行脚本的时候,是没问题的,但是一旦从 web 端 launch ,就会参数报错。

参考:

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_9.shtml

 

 

 

2024年1月15日 上午9:44

今天早上4点的时候,小睡,我发现睡眠质量和长度,不随地点而改变!

参考:

https://www.cnblogs.com/kenshinobiy/p/5895299.html

https://www.cnblogs.com/qq350760546/p/5234497.html

最终解决方案:固定时间跳转

 

上午 10:41

基本完成微信支付 PC 端。今天争取完成手机版。

读者可以试试

这是本公司目前所在的场地,周围还有世纪佳缘,和助力小朋友中高考的。小朋友的文化程度是社会的明天!欢迎各界有志之士入驻!

点击(复制黏贴):  https://freelocked.com/ch/room/r_00000056

也可以预定我们其他的资源。办公室资源,楼主发出的资源都是承担风险+分拆出租,其他资源都是年度合同。资源全部真实。

 

上午 11:47

开始开发移动端支付。和 PC端不一样的是,PC端只显示二维码,扫码,跳转。

移动端,使用 H5 期待接口返回的链接,用户点击或者自动跳转,即微信支付的界面。H5 支付接口的特点【只能微信之外调用】。

现在解决 Referer 的问题。

 

下午1:17

之前一段时间,测试了 native 直接在微信外打开,结果是,浏览器提示打开微信,但是选择“打开”之后没反应。

怎么解决呢?

先不解决,试试 H5 是否还缺参数。H5通过就用 H5,通不过再回来考虑 native !

 

下午 2:20

还是Referer

参考:

https://developers.weixin.qq.com/community/develop/doc/00044aa32cc2c84ef54b1f37359c09?_at=1705299419627

先把传参都搞成一致了试试

 

下午2:32 

依据诸多回答,把 &redirect_url=https%3A%2f%2f + 【url】 ,这个 【url】要和你配置的完全一致。

所以这个 【url】 主要是你调用 API 的时候,腾讯来校验用的,不是你自己设置的地址,想跳转哪就跳转哪哟!

BUT,还有新问题!

 

似乎要配置服务器IP

参考:

https://developers.weixin.qq.com/community/develop/doc/0006681d2c4ba037e35ad5fdc51400

关键参数 spbill_create_ip

 

下午 3:20

因为本人调用 H5 接口,因此木有 spbill_create_ip 这个参数!这个是 APP 支付的参数。怎么办?

查看 H5 所有参数。

参考:

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_1.shtml

 

 

具体操作,就是把服务器的公网IP,配置到对应字段。理由的话,是微信开放给到你的权限的【交换】吧,就是人开放你能力,需要对你进行校验。

字段 payer_client_ip 

至此,微信的 PC 端和手机端都搞定啦!!

 

 

 

 

2024年1月14日 杭州 黄龙

 

我今天测试了 query,pay, close ,发现微信的中间页是自己开发的,也为我们开发人员提出新的要求。

参考:

https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/fusion_wallet_ch/H5Payment/chapter3_3.shtml

https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/fusion_wallet_ch/H5Payment/chapter3_2.shtml

 

基本思想就是,在参数配置这里增加 trade_type:"MWEB"

第二个参考,主要是项目返回的是一个网址,这个网址在传参数的时候,增加 referer 设置。关键问题在于,确定 referer 设置成什么网址。

自己测试了下,这个参数加不进去。于是,找其他解决方案。

 

2024年1月14 日 晚上10:29 

今天花了90元,超过预算30元,我提醒自己一下。毕竟没收入。

另外,原来 H5 开发,我对比了支付宝支付,真实需求应该显示 二维码,因此果断转战【native 支付】 —— 问题来了!

二维码显示不出来!!

 

晚上好 11点12分

原来二维码是要自己生成的!

试试这一篇文章。

参考:

https://www.runoob.com/w3cnote/javascript-qrcodejs-library.html

 

晚上 11点39分

生成了一个二维码,但是不知道支付界面的 URL,于是,二维码对应的地址还在确认中!

参考:

https://blog.csdn.net/qq_45542380/article/details/115087829

 

晚上11点55分

才算有点了解啥意思。

如果你调用 native pay 版本的 php 代码,主要差异在于 webAPP 调用的地址不一样。native 对应返回的是 【code_url】,needless to say  H5 支付是另一个界面,必须运行在微信之外的网页界面。本篇写作的时候,这个页面还没调出来,我们先开通 native!

这是个怎样的 URL 呢?这是个能在 【微信】 内部打开的 URL,打开之后就是【微信支付界面】。

 code_url 示例:

weixin://wxpay/bizpayurl?pr=XXXXXXXXX

 

 

晚上 0:45

初步调通,支付成功界面。

目前还有个小功能,就是支付完之后,PC端可以自动跳转。9

 

晚上 0:51

参考:

https://developers.weixin.qq.com/community/develop/doc/000ca8e987cc88c76ce89debe51000

Basic Idea 就是,用 SCRIPT 每个多少秒去 Query,如果满足条件,则跳转。 

第一,完成查询函数。

参考:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_7_2.shtml

第二,用 PHP 完成每隔一段时间运行一个脚本。

参考:https://www.cnblogs.com/qq350760546/p/5234497.html

 

 

2024年1月13日 杭州

 

今天搬家!搬家完,我想了想昨天晚上查到的一个解决方案,试了试,居然跑通了。

之前脑子一根筋,项目里每个文件怎么路径和实际路径不一致呢?于是,采取了暴力解决方案一,和暴力解决方案二,直至不起作用!

我再查了查,原来只要在调用项目的文件内 require_once 'vendor/autoload.php' 即可 。关于这点,我这样理解:

 

第一,autoload.php 相当于 configure 一开始声明一些配置,例如,某些 normal link 的对应关系;

第二,项目中的所有 use 我大概都瞄了眼 —— 干这件事的时候,我不知一次怀疑自己是不是智商低到爆炸。但素,后来我发现, 应该是个 normal link,可以在 autoload.php 建立起连接, 并且在调用项目的文件的一开始,声明。

 

关于 composer  中的 autoload.php 到底其什么作用?

参考:https://www.cnblogs.com/sjhsszl/p/8623022.html

这参考答案,简言之,就是配置 composer.json,运行之后自己生产 key-value 对应值。Um,应该也包括 normal link 和 solid path 对应的部分。

 

为了进一步验证是否调通了,var_dump() 一个变量。

 

 

基础组件调通之后,就是 H5 下单场景,在同一个网页页面上,复制黏贴,然后改关键参数。

代码:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_6_2.shtml

参数:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_1.shtml

 

晚上 9:00 时候,基本调通

但是,因为商户开通没赚钱,账户被冻结,在【违约处理】中回复转账功能。

参考:https://kf.qq.com/faq/220511VbEZrA220511vQjIju.html

 

晚上 9:42 权限恢复!刚想回去!继续工作吧!

新报错:签名失败

 找了点解决方法

参考:https://blog.csdn.net/fyh60318647/article/details/112689022

简言之,你申请的证书可能并非最新的,那么试试再申请一个证书试试?如果新申请证书,仍然解决不了,再想想其它方法。

 

 晚上 10:25  测试新申请了一个 Cert,还是报错!

 参考:https://developers.weixin.qq.com/community/develop/doc/000e4a0d5dc1486acc19c6fd15bc00?_at=1569021781371

这篇文章说得蛮清楚的了!

简言之,调接口,是平台证书,你的 key ,序列号,商户号。注意,【商户】和【微信支付平台】的差异。

BTW,加密, A-key,B-cert。或者 A-cert,B-key。

 

 晚上 22:56 下载微信支付平台证书生成“程序”,报错!

显示:

java.io.FileNotFoundException

解决:

具体到文件名试试

参考:

https://www.cnblogs.com/zhuyeshen/p/11435879.html

测试结果i:

耶!成功了!

 

再次测试 H5 下单:

成功啦!

 

之后还有修正工作,就不更新进来了!

 

 

 

2024年1月12日

 

 1.解决“PHP Fatal error:  Uncaught Error: Class ”

文件不存在,检查是否使用了自动加载,可能是composer的autoload配置错误。如果没有使用composer,确认自己是否require_once把文件包含进来。如果已经包含了,检查命名空间和类名大小写是否正确。命名空间前不能有任何输出。
 
作者:怀老师
链接:https://www.jianshu.com/p/376cfb603583

2.不知道为什么?开发支付宝支付的时候也是。

就是路径,和项目默认路径不一致,我也不知怎么做到这样的。我采取的方式也很蠢...即全部换过来。但是也会不 WORK

 

例如:

 

这种情况咋办?

我先查看了 HandlerStack.php

 

 

所有路径都更新,物理先用 require_once ''; 再引用逻辑,use XXXX ;

 

还是报错。

 

关于 namespace , use , require 关系,阅读:https://www.cnblogs.com/drunkhero/p/namespace.html

 

2024年1月12日 下午 8:26

 

参考:https://www.cnblogs.com/yehuisir/p/11114807.html 

 

一开始认为是 PHP 语言 require/include 的问题。我脑袋里的 IDEA 是,明明引入了呀,怎么 Class 用不了呢?

后来发现,需要其他的插件,具体我不算了解,且看我的截图。具体做法是这样的。

这个 HandlerStack 类别,不是放在某个文件夹下嘛?为啥 require 之后无法使用呢?后来发现是 composer 木有配置和安装。

 

1.修改 composer.json 

require: { "guzzlehttp/guzzle": "~6.0" }

 

2.然后执行composer update

 

报错部分开始改变。应该API 升级之后,我这里之前没跟着升级。

 

 

 

 

ShoelessCai.com 值得您的关注。

 

https://freelocked.com/ch/room/r_00000056
posted on 2024-01-11 14:39  Mira_2019  阅读(12)  评论(0编辑  收藏  举报