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

pynix · 发布于 2016年07月05日 · 最后由 pynix 回复于 2016年07月12日 · 2481 次阅读
9800

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

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

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

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

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

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

共收到 24 条回复
26949

+1,看到微信就想吐。

96

不踩坑肯定不能支付 😭 D

15420

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

23196

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

110

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

4755

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

C5fc5e

ping++

9800

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

13269

也是受够了微信开发

4755

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

Eda824

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

11562

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

77

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

9800

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

11562

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

10547

可以试试ping++

9800

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

21514

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

942

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

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

9800

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

14801

我现在也在写微信支付😫

9800

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

14801

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

9800

#23楼 @a4652097 哈哈哈哈

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