我去了某个博客网站,找到了一个 URL
的在线二维码生成网站
输入你想要的参数和尺寸,就可以得到你想要的二维码了(后来我已经知道怎么生成二维码但是懒得改了)
那我会
ajax从前端发送参数
进入后台
然后在线生成二维码
打开微信
扫描
一分钱也不剩
等等,一分钱都不剩了。
我这时才意识到我没有使用测试环境。
我的一分钱QAQ
而且我当时也不知道怎么切换环境,想了好久,就一分钱,给他吧。
不舒服的蘑菇
至此,我感觉我已经完成任务了。
不要想你所想,要想我所想
然后又遇到一个问题,微信通知?
这是啥?意识到用户付款了,微信也知道用户付款了,但是商家不知道客户付款了。
这时候该由谁来告诉商家这个事情呢?当然不可能是用户,一定是微信。
我用了一个星期的时间填补了这个洞。
关键是我不会处理重复的通知。
后来我发现,只要我给微信一个正确的回复,它就不会再打扰我了。
尽量不要在处理时引用回调通知
因为参考意义不大(还是要自己判断签名,自己写回调)
我一开始没注意到这个
首先,编写完成查询订单的代码。
所以我稍后会回来填补空白。
我使用的框架是-boot。在这个框架中我也遇到了很多陷阱。
第一是它的前端是用Vue写的,但是我不懂Vue
我用了一个愚蠢的方法
只要在控制层写代码就可以了( = .(); )如果要引用资源,直接网上引用就可以,不用下载到本地。
第二个是
:
这个异常我看了一周了,搞不懂,什么方法都试过了,但是对服务器不太了解,我们服务器是通过代理转发的,我也搞不懂。
到现在还是想不明白,就是不知道为什么中秋节过后突然就不登录了,没事,感觉累,没有爱了,先记录一下,我觉得应该是网络问题什么的,这个真的搞不懂。
![]()
我们再回过头来说这个某封信件的回调通知。
正如我之前所说,我从模式开始
回拨通知的时候发现需要一个可以直接外网访问的域名,但是我没有(后来才知道花生壳的存在),只好跟经理要一个域名,然后问同事怎么用(捂脸)。
编写了3个版本的回调通知
都不正确
我去百度了一下,发现微信是采用封装好的IO流的方式来给你发送通知,而不需要传递参数,我也把百度上能用的代码复制过来了。
哈哈,成功了,收到通知后就交给相关商城处理了。
回头想想,刚才提到一开始的方向走得不太对,因为我们老板不是要网店,而是要在公众号上完成支付,时间不多了,虽然没有给出具体的时间,但我感觉老板的态度已经转变了。
然后我疯狂地复制它,并将模式改为模式
我一直遇到的最大问题是商家平台对公众号不太熟悉,而我又不是公众号的负责人,所以只好请公众号的同事帮我做一个按钮/界面。
点击之后,传递一个参数给我
我写了一个前端页面。
然后ajax回调自身控制层的代码实现支付
这
:它出现在最后一步。
我也遇到一个问题,支付的时候不是需要传一个参数签名给前端吗?我在微信官方文档上的签名验证中输入了自己的参数,结果发现它生成的签名不一致,这是为什么呢?经过两天的断点调试,我发现微信官方文档中第一个默认参数是=
其实需要的参数就是 = 乍一看没什么区别吧?我也这么想,微信官方都给你参数了,我就不用改了。
结果我写了3个版本的签名验证,发现除了和官方文档中的签名不一样以外,其他都是一样的。
最后我看了它的文档并且自己写了个验证签名的方法才发现这个问题。
注意这个H5页面实际需要的参数是=(大写I)
解决上述问题,你基本上就完成了
对于想看源码的,推荐这个,这个没错,但是稍微修改一下,也可以在(个人推荐开发模式2,比较简单粗暴)模式下使用
对了,最后一个坑就是我把代码发布到服务器上,付款的时候总是报签名错误。
看了文档后网友们普遍说是某某信件的bug,需要修改商户API key(这里需要超级管理员权限),我修改之后确实修复了,真是坑
总结一下:从微信新手到搭建微信支付,最重要的就是不要害怕失败。经常换一种写法还是失败,再换一种还是失败。心里深感沮丧,但也很激动。痛并快乐着的感觉真的很好。每天写出一个bug然后改正过来真的很有趣。
所以我们还是要学会面对失败,还有一点就是很多东西其实都是现成的,找到它,用上它,才能事半功倍,效率提高30%是不对的。
我是新手,到后期才发现API确实很方便,如果再做支付宝的话(如果有这样的需求的话),10天应该可以搞定(或者我水平太低,经验不够)
最后我想说几句,你们为什么要这样骗我呢?我百度了一下,大家都说下载的PHP demo只需要给一个参数,Java demo要改十几个类,你们这样做会让我损失钱,你知道吗?
问:为什么你的冠词“*”被“ ”取代?
A:我大学期间做过淘宝客服兼职,需要介绍别人产品的时候,会用淘宝、天猫、京东或者百度,避免不必要的纠纷。相信大部分人应该都知道百度是什么。
问:你们自己的源代码在哪里?
答:不想发了,第一篇写的太垃圾了,我觉得这位大神写的已经很好了,基本照搬就可以解决问题了。
问:为什么很多问题你都是事后才回答的?
A:如果早知道,就不会有这么多问题了。不过现在我在微信支付上已经成长了很多,很多问题都可以轻松解决。
您还有什么问题想问吗?
超过