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

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

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

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

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

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

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

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

共收到 24 条回复
26949
didme · #1 · 2016年7月05日

+1,看到微信就想吐。

96
hasbug · #2 · 2016年7月05日

不踩坑肯定不能支付 😭 D

15420
pathbox · #3 · 2016年7月05日

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

23196
Catherine · #4 · 2016年7月05日

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

110
greyby · #5 · 2016年7月05日

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

4755
martin91 · #6 · 2016年7月05日

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

5337
sharpx · #7 · 2016年7月05日

ping++

9800
pynix · #8 · 2016年7月06日

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

13269
mutoulbj · #9 · 2016年7月06日

也是受够了微信开发

4755
martin91 · #10 · 2016年7月06日

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

1665
ericguo · #11 · 2016年7月06日

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

11562
hging · #12 · 2016年7月07日

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

77
hungyuhei · #13 · 2016年7月07日

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

9800
pynix · #14 · 2016年7月07日

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

11562
hging · #15 · 2016年7月08日

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

10547
jicheng1014 · #16 · 2016年7月08日

可以试试ping++

9800
pynix · #17 · 2016年7月08日

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

21514
towser · #18 · 2016年7月08日

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

942
reus · #19 · 2016年7月09日

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

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

9800
pynix · #20 · 2016年7月11日

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

14801
a4652097 · #21 · 2016年7月11日

我现在也在写微信支付😫

9800
pynix · #22 · 2016年7月11日

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

14801
a4652097 · #23 · 2016年7月11日

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

9800
pynix · #24 · 2016年7月12日

#23楼 @a4652097 哈哈哈哈

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