又到了周五晚上,其实已经周六凌晨六点多了。
刚把那个报“签名验证失败”的bug交掉。第43次了。
外面的窗有着暗黑之色,屏幕呈现着明亮之光,那个令人憎恶的prepay_id,仿若幽灵一般。
支付场景非法,到底是哪非法了
有人说你下单接口用错了,APP调成了JSAPI。
可我明明对着文档一行一行对的。
紧接着察觉到,并非我出现了差错,是相关文档开展了更新举动,然而却并未彻底完成更新这一动作,将V2版本的演示示例与V3版本的接口相互交融于一处,好像是在火锅之中煮放了草莓这般具有违和感的状貌。
算了,能跑就行 。
其实我最怕的不是报错,是它不报错。
回调不来。
服务器像个哑巴,你等它说话,它沉默。
然后运营过来问:这单用户说付了,钱呢?
网络环境未能通过安全验证,请稍后再试
这句文案写得太温和了。
实际的情形是:你于下单之际身处公司的WIFI环境,而在结账之时却跑到楼梯间切换至4G,如此这般微信便会觉得你好似一个盗号的。
于是啪,拦住。
我懂,安全第一。
可是用户不懂啊,用户只觉得你烂 。
商家参数格式有误,请联系商家解决
你看,这句话本身就是个死循环。
能看到“联系商家”的是用户,看到“参数有误”的会是商家,而程序员呢,看着看着就头发掉了。
其实就一个问题:referer丢了。
那个APP当中的webview,在默认的情况下是不会具备这个的,你必须要手动将其塞进去,这情形就如同给倔强的孩子穿上秋裤一样。
关于penid,其实他们想说啥
用户给的文档里写“penid是支付授权目录”。
我猜,大概率是笔误,想说pay sign或者path。
但也无所谓。
那个名字并不重要,关键的是,你的小程序页面路径得填进微信支付商户平台处,的那个处于页面之中的白色框以内。
填错一个斜杠,全剧终。
这种痛,只有经历过的人懂 。
企业付款,哦现在叫商家转账
这项名称的更改相当不错,以往称作“企业付款”,众多小商户听闻之后,会感觉与自身毫无关联。
其实发个奖励、退个押金、给用户发个小红包,都用得上 。
但申请流程嘛……
资质、场景证明、审核。
等你批下来,用户早跑隔壁用支付宝了。
账单查询,对账,财务阿姨的微笑
只有每个月的1号,财务阿姨会对我和颜悦色。
因为账单拉下来了,对上了。
可是她们并不晓得,那对账脚本乃是我历经熬夜才撰写而成的,在运行的时候,我的手会不由自主地颤抖,心里害怕遗漏任何一笔。
V3的回调用的是JSON了,终于不是XML。
值得开瓶啤酒 。
有人走了另一条路
在GitHub之上,我寻觅到了一个项目,其名为wechatypay-node。
阐述者表明,他并无申请商户号的意愿,于是撰写了一个机器人,对微信消息予以监听,借助赞赏码来进行收款。
无费率,无门槛,纯野生。
然后评论区有人问:这不违反协议吗?
作者没回。
我觉得他看到了,只是不想回 。
回调方法,你能不能别调我
我最怕半夜手机震动。
微信支付回调来了。
迷迷糊糊爬起来看日志,200 OK。
但订单状态没变。
后续才明白,回调地址需作出返回,其内容为“SUCCESS”,且必须设置为大写形式,无论是全角方式还是半角方式,均不符合要求。
你说这是不是玄学 ?
签名,永远的签名
V3换了SHA256withRSA。
文档说更安全了,我没意见。
但我只想问:为什么我本地签名工具能过,服务器跑就报错?
后来察觉到是私钥格式方面的问题,存在PKCS#1以及PKCS#8这两种,仅仅相差一个换行符而已。
一个换行符,查了两天 。
那些jar包,其实也是人写的
maven拉下来,几百个类。
你不知道哪个类哪天就废弃了。
你不清楚文档所撰写的是0.4.7,然而最新的版本已然是0.5.2,并且API全部都更改了。
你只知道,它今天能跑,先别动。
别动 。
其实微信支付也是个孩子
有bug,有坑,有历史遗留。
但这么多年,它确实没丢过我一分钱。
那些半夜惊醒的瞬间,后来发现都是我自己写错了。
它只是安静地返回一个:
{“code”:“INVALID_REQUEST”}
像个冷脸的老师,看着你演。
该去睡了。
明天,还要承接一回调,还得签一通名,还需跟运营阐释,“用户付了钱然而我们没有收到通知”这不意味着没收到,实则是收到了但幂等性未能处理妥当。
这些事,没人教。
文档不写,社区不教。
你仅能够自己踩踏一回,接着发布一个帖子,随后发觉十年之前便已然有人踩踏经过了。
然后关掉网页。
继续写。
毕竟,周一还要上线。

Comments NOTHING