瞎扯淡 最近开发微信公众号,涉及支付,踩了各种坑

pynix · 2016年07月05日 · 最后由 ccckh 回复于 2021年04月08日 · 4926 次阅读

首先受够了微信 API 种相关参数命名,可能微信比较喜欢配置而不是约定。种植各种驼峰,下划线,连词,基本各种语言的命名方式你都能见到,而且毫无规律可言,有时候参数签名需要驼峰命名,调用 API 传递参数的时候又是连词,而且调用结果没有任何错误信息,完全是黑盒。当你检查了 N 遍加密算法确定没有错误但调用还是没有成功的时候,你绝对有理由相信,腾讯估计百般刁难开发者。

1,申请过程复杂,各种证件,证书。基本和入党差不多了严格了。

2,开发配置参数繁多,配置文档不全,版本不一,还可能有潜规则。

3,各种限制很多,比如支付目录。rails 的 restful url 就比较麻烦,/orders/xxxxx/pay 这种形式是不被认可的。你大概需要新开一个路由比如 /checkouts/xxxxx什么的。

4,关于参数签名。貌似只要涉及交易基本都会涉及到参数签名,oauth1 的时候人们受够了各种参数签名,oauth2 的时候直接要求 https 了,貌似交易就算走 https 还是需要签名的,毕竟利益相关。

如果能绕开的话尽量不要做微信。这玩意真的太坑了。。。。

+1,看到微信就想吐。

不踩坑肯定不能支付 😭 D

一年前做过。记了各种坑。现在 看来又更复杂了

同意。。。记得传回来的值还是 xml 格式的,那个蛋疼。而且数据编码没对,还会给你报出奇奇怪怪的错来。 之前认证是运营做的,没被这环节恶心到。不过花 300 块认证有个好处,好像有个拿到 uid 还是 openid 不需要用户授权的接口可以用。

你可能没开发过支付宝支付接口

微信支付内部是不同团队做不同模块,so,你会发现各种不统一。anyway,这是基于一年前我了解到的内部的情况,现在不好说。

#6 楼 @martin91 就算不同的团队约定一下 API 应该没有问题。

也是受够了微信开发

#8 楼 @pynix 以前记得有句话是说:“如果他们都能像你这么想,你就没机会在这里抱怨他们了。”哈哈,大家都知道要约定才是最佳实践,但是事实就是他们并没有约定统一啊。

你要嫌微信支付坑,那一定是还没用支付宝、银联,招商银行。。

orders/xxx/pay 这种是支持的。

至少微信支付比支付宝还好点

#12 楼 @hging 貌似不行,昨天试过了,硬生生把 member action 改成了 collection action 再加参数的形式。。

#14 楼 @pynix 支付页面填/orders 呢。然后后面微信不检查的样子。我之前记得已经这么做过了。

可以试试 ping++

#15 楼 @hging 为什么我不行。。。

感觉支付宝比微信支付强点,微信支付文档和实现都一样混乱

感觉还可以,照着文档做没遇到什么解决不了的问题。

自己迁移过户口、注册过公司的话,就会发现和微信打交道简直不要太容易…… 说到底还是能力问题。

#19 楼 @reus 对能力问题,有的人应对混乱的能力特别强。。。

我现在也在写微信支付😫

#21 楼 @a4652097 欢迎继续踩坑。

#22 楼 @pynix 要被微信的 xml 给搞死

这是我在用的,对个人开发者友好:https://h5zhifu.com

需要 登录 后方可回复, 如果你还没有账号请 注册新账号