有比微信公众平台技术文档更 ZZ 的文档吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
oldcai
0.01D
V2EX    程序员

有比微信公众平台技术文档更 ZZ 的文档吗?

  •  2
     
  •   oldcai
    PRO
    oldcai 2017-12-14 12:54:10 +08:00 10659 次点击
    这是一个创建于 2860 天前的主题,其中的信息可能已经有所发展或是发生改变。
    每次对接微信的接口,都屁股疼

    比如这个:
    https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_4
    获取 openid
    里面指向的 4 条连接都没讲如何获取 openid

    JSAPI 支付必须提交 openid
    登录的"网站应用"没有支付权限的申请
    可申请支付商号的公众号又没有登录 scope 的权限

    感觉他们设计的是一个密室跳脱解密的扯淡游戏
    第 1 条附言    2017-12-14 18:50:55 +08:00
    感谢大家的反馈。

    似乎对于国内一流公司的文档普遍比国外糟糕这件事,
    大家不仅情绪稳定,并表现出了我们民族强大的包容性,选择了,原谅他(们)。

    那么大家有没有接口文档的自己的经验,甚至最佳实践可以分享呢?
    这样可以在我们自己写文档的时候尽量不要做 asshole。

    我先抛个砖:
    我目前用 swagger 描述 API+gollum 写简单叙述
    73 条回复    2017-12-15 20:17:26 +08:00
    azh7138m
        1
    azh7138m  
       2017-12-14 12:59:50 +08:00
    比如七牛上传的文档?

    https://developer.qiniu.com/kodo/manual/1272/form-upload

    支持 https 的域名是 up.qbox.me ,还是我从他们 github 里面翻出来的:)
    weixiangzhe
        2
    weixiangzhe  
       2017-12-14 13:07:05 +08:00 via iPhone
    同意
    oldcai
        3
    oldcai  
    OP
    PRO
       2017-12-14 13:09:49 +08:00
    @azh7138m 真的吗,来来,如果你经历坎坷,从翔一样的文档中,发现这样一个秘密:

    JSAPI 支付需要 openid
    同一个用户每个 app id 对应的 openid 不同
    登录的 app 没有支付权限
    支付的 app 没有登录权限
    支付 app 只能绑定微信公号
    登陆 app 没有开通支付权限的选项

    会不会想找包方便面捏碎
    wibile
        4
    wibile  
       2017-12-14 13:10:24 +08:00   3
    有,阿里的文档更烂!阿里云文档乱成一团,要找半天。淘宝开放平台的文档跟 shit 一样。。。
    BOYPT
        5
    BOYPT  
       2017-12-14 13:10:50 +08:00
    只是链接失效了,你翻翻菜单里面章节还是有的。
    klgd
        6
    klgd  
       2017-12-14 13:18:19 +08:00   1
    有,qq 的文档
    qiayue
        7
    qiayue  
    PRO
       2017-12-14 13:25:46 +08:00
    建议搞清楚整个登录流程,不要着急,气急败坏解决不了任何问题

    文档中有些链接变化了,所以点击后跳回了文档首页,建议直接在文档做成菜单栏查找资料

    如果你要用微信服务号来做微信支付,那么两种方式可以获取 openid:
    1、用户关注服务号,或者发消息给服务号,微信服务器调用你的服务端接口,都会携带 FromUserName,就是发送放的 openid,见 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453
    2、使用网页授权接口,用户同意之后可以得到 openid,见 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

    再然后用 jssdk 的 wx.chooseWXPay 就可以发起一个支付请求,在发起支付请求之前,你需要 ajax 到自己服务器,通过统一下单接口向微信服务器下单,得到 prepay_id
    https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1

    我反而觉得微信文档写得很详细,所以想要的东西都能够找到,当然前提是你需要了解业务流程,很多文档都化了业务流程时序图
    qiayue
        8
    qiayue  
    PRO
       2017-12-14 13:27:36 +08:00
    不同的 app 通过在 open.wx.qq.com 绑定到同一个开发者账号,可以得到 unionid 来确定同一个用户
    qiayue
        9
    qiayue nbsp;
    PRO
       2017-12-14 13:28:33 +08:00
    liuzhedash
        10
    liuzhedash  
       2017-12-14 13:33:58 +08:00
    如果之前对接过微信的接口,openid 的机制应该不难理解。jsapi 调起微信支付的场景里,通常是网页授权获取用户信息时拿到 openid 的,参考文档:
    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
    Qlccks2
        11
    Qlccks2  
       2017-12-14 13:35:00 +08:00
    顺丰
    liuzhedash
        12
    liuzhedash  
       2017-12-14 13:36:48 +08:00
    我认为微信的文档做得还是不错的,比阿里的要强不少。任何文档都不可能正好按照你的疑问来组织内容,高效地阅读理解文档是值得练习的能力。
    qiayue
        13
    qiayue  
    PRO
       2017-12-14 13:37:52 +08:00   2
    微信支付方式有:
    刷卡支付、公众号支付、扫码支付、APP 支付、H5 支付、小程序支付

    你可能能用的到的是公众号支付和 APP 支付
    其中公众号支付必须是服务号,服务号只要认证了就有网页授权登录权限,开通微信支付就可以有支付权限
    APP 支付在微信开放平台创建移动应用之后,可以申请开通支付能力

    你的问题在于读的太少而气得太多
    oldcai
        14
    oldcai  
    OP
    PRO
       2017-12-14 13:39:57 +08:00
    @qiayue unionid 实现登录的时候已经做过,不然无法合并 app 登录和 web 登录的用户。
    但是 unionid 并不能用于支付。
    openid 不需要用户同意授权才能获取,但是如果是这样,我总觉得有更好的办法获取到,而不需要跳授权的流程。
    目前方法是找到了,以 snsapi_base 为 scope 发起的网页授权,但是就是想吐个槽,不然无法好好过完一天。
    ihainan
        15
    ihainan  
       2017-12-14 13:41:09 +08:00
    之前看 Slack Bot 的文档,感觉写得真是好呀……
    qiayue
        16
    qiayue  
    PRO
       2017-12-14 13:41:45 +08:00
    是的 snsapi_base 不需要用户同意
    oldcai
        17
    oldcai  
    OP
    PRO
       2017-12-14 13:44:28 +08:00
    @ihainan
    @liuzhedash
    之前看 slack,Twitter,Google,Facebook 文档。。。第二语言都挑不出毛病啊
    ajiangnet
        18
    ajiangnet  
       2017-12-14 13:45:43 +08:00 via Android
    当初就是看过文档之后放弃玩公众号的想法的,看了第一感觉就是复杂。
    oldcai
        19
    oldcai  
    OP
    PRO
       2017-12-14 13:50:59 +08:00
    @liuzhedash
    @qiayue
    你们应该都是极好的人,从来不挑别人毛病。
    吐槽其实也是想推动一下国内,至少是微信的接口设计、文档描述,希望能梳理清楚一点,至少不要那么让人沮丧。
    当然,他们不愁没人来集成他们的 API,所以也没动力优化吧。
    lion9527
        20
    lion9527  
       2017-12-14 13:52:23 +08:00
    要是看过新浪微博的文档,你会发现腾讯的文档舒服太多……
    oswuhan
        21
    oswuhan  
       2017-12-14 13:53:56 +08:00
    正因为这个原因,外加个人强迫症比较重,至今没做过和微信平台有关的项目
    AV1
        22
    AV1  
       2017-12-14 14:17:38 +08:00
    获取 openid 就是微信授权登录的过程,按照 OAuth2.0 标准,无非就是先获取 code,再用 code 换取 openid。
    Norie
        23
    Norie  
       2017-12-14 14:19:17 +08:00
    开通 SVIP 有助于快速理解
    janxin
        24
    janxin  
       2017-12-14 14:21:38 +08:00
    支付宝的文档。。。
    sensui7
        25
    sensui7  
       2017-12-14 14:21:42 +08:00
    @Norie 回复真配合头像。
    azh7138m
        26
    azh7138m  
       2017-12-14 14:25:48 +08:00
    @oldcai
    同一个用户每个 app id 对应的 openid 不同
    这个设计没问题,为了用户隐私,讲道理我没觉得有啥不妥,
    jssdk 的文档也是烂的不行,看半天不知道它要我干啥,感觉支支吾吾的
    swordne
        27
    swordne  
       2017-12-14 14:25:56 +08:00
    有,ThinkPHP 的文档,尤其 5.0 以上的
    o_O
    crystom
        28
    crystom  
       2017-12-14 14:26:44 +08:00
    诶,刚做完一个项目,api 接口就改了,从 snsapi_base 中无法获取 unionid 了
    kechx
        29
    kechx  
       2017-12-14 14:31:08 +08:00
    lz 别急,我也才做完微信支付,ls 说得很多了,我再补充一点。
    只获取 openid 是不需要用户主动授权的,也不需要关注公众号,静默授权即可,构造请求 URL 时 scope 设置为 scope_base 即可。
    noea
        30
    noea  
       2017-12-14 15:06:52 +08:00
    如果你是在用 PHP 写微信开发的话,你或许需要这个 Composer 包:
    https://www.easywechat.com
    lxrmido
        31
    lxrmido  
       2017-12-14 16:21:27 +08:00
    有没有谁家的文档是比较好的……
    xomix
        32
    xomix  
       2017-12-14 16:29:10 +08:00
    @lxrmido msdn 说第二我不觉得有谁去争第一的
    bxb100
        33
    bxb100  
       2017-12-14 16:30:59 +08:00 via Android
    @xomix google api 也不错
    raighne
        34
    raighne  
       2017-12-14 16:31:19 +08:00
    微信,容云的文档都很垃圾
    shiny
        35
    shiny  
       2017-12-14 16:33:34 +08:00
    阿里的已经改进了很多,然鹅我觉得体验最爽的还是 Facebook 的。
    juneszh
        36
    juneszh  
       2017-12-14 16:35:18 +08:00
    朋友 你一定没用过 SWOOLE
    terence4444
        37
    terence4444  
       2017-12-14 16:36:53 +08:00 via iPhone
    楼主看过新浪微博的文档吗?
    qinxi
        38
    qinxi  
       2017-12-14 17:23:05 +08:00
    @terence4444 hhhhh 同想吐槽微博 还有 QQ 的

    微信的我觉得做的还可以,可能只是你没搞懂登录流程而已
    qinxi
        39
    qinxi  
       2017-12-14 17:23:41 +08:00
    qiayue
        40
    qiayue  
    PRO
       2017-12-14 17:28:57 +08:00
    微博的文档也很好用啊
    GreatHumorist
        41
    GreatHumorist  
       2017-12-14 17:33:12 +08:00 via iPhone
    怕是没有看过百度的
    windy0925
        42
    windy0925  
       2017-12-14 17:38:30 +08:00
    文档就不说了,用 qq 的 code 换 token 接口,每天都给我超时(3s)
    zjddp
        43
    zjddp  
       2017-12-14 17:47:56 +08:00
    咩哈哈哈今天刚写完公众号支付的东西,基本上能踩的坑我都踩一边了。

    讲真,这套文档得耐心看个两三遍再动手写
    lhx2008
        44
    lhx2008  
       2017-12-14 17:49:41 +08:00 via Android
    微信的已经挺人性化了,相比其他文档
    uleh
        45
    uleh  
       2017-12-14 19:08:12 +08:00
    客观的说,国内服务的文档普遍写的烂。
    “微信的文档比其他家写的好”不等于“微信的文档写的好”。
    你能找得到想要的内容也不代表“微信的文档写的好”,而是你检索信息的能力强。

    微信、支付宝这些都是业务太牛逼,应用开发要求着接入他们,
    所以他们其实并不在乎你看不看得懂他的文档。
    我曾经有一次照着支付宝的接入文档调试(用的测试 API ),有个地方始终过不去。
    不得已问了客服,结果客服给我一个 qq。我加了那哥们的 qq,骚扰了他 3 天,
    他告诉我里面密码还是啥的,必须填一个 8888。。。

    相反,看国外的开源软件也好服务也好,基本都有如下 3 个特点。
    1. 条理清楚
    2. 该有的信息都有,照着 sample 写就能跑起来
    3. 不会有链接失效或者 API 已经过时之类
    o0
        46
    o0  
       2017-12-14 22:33:16 +08:00 via iPhone
    美团云?
    carlclone
        47
    carlclone  
       2017-12-15 00:02:41 +08:00 via Android
    别人踩过的坑你还去踩,这就有点死脑筋了
    codeeer
        48
    codeeer  
       2017-12-15 00:55:22 +08:00 via iPhone
    真不是捧 aws,如果国内开发文档写的有 aws 文档一半好就天下太平了!!
    ooops
        49
    ooops  
       2017-12-15 03:20:08 +08:00 via iPhone
    我也吐槽下微信的文档。前几天接分享,要填 bundleid,一个测试一个正式的,我们的 app 正好有两个渠道,但不知道哪个填哪里还是再申请一个应用,测试的能不能发到线上用等等。搜索了整个文档都没有说这点,按理说我接的这么晚坑应该早都踩完了相关信息写入文档才对,真是很愁人,然后发了 2 封邮件询问,第一个没有描述清楚,结果邮件只回了第一封。
    还有一个就是设计上的问题,安卓 debug 和 release 包对应不同的签名,但是申请页面只能填一个,感觉好蠢。
    liuzuo
        50
    liuzuo  
       2017-12-15 06:48:40 +08:00
    其实有挺多开源的文档也写的不好,我感觉 mongo 的文档就不好。
    boyxupers
        51
    boyxupers  
       2017-12-15 08:37:04 +08:00 via iPhone   1
    接过支付宝的请举手
    cevincheung
        52
    cevincheung  
       2017-12-15 08:57:32 +08:00
    @azh7138m #1 upload.qiniu.com 支持 ssl 的啊
    m939594960
        53
    m939594960  
       2017-12-15 09:22:10 +08:00
    哈哈 你只吐槽他不详细?你知道他手册上有多少错误么?
    t/412544#reply1
    fakeJas0n
        54
    fakeJas0n  
       2017-12-15 09:45:27 +08:00
    岂止是 ZZ,还能带进沟里
    raptor
        55
    raptor  
       2017-12-15 09:58:05 +08:00
    @wibile +10086,跟阿里的文档相比,微信已经算业界良心了,但是跟国外的相比,国内基本上都屎
    GG668v26Fd55CP5W
        56
    GG668v26Fd55CP5W  
       2017-12-15 10:18:24 +08:00 via iPhone
    别吹国外的了,facebook 的文档能把人绕晕
    liuzhedash
        57
    liuzhedash  
       2017-12-15 10:28:28 +08:00
    成吐槽大会了,接过淘宝客的请举手,今天让阿里百川教教大家怎么写文档
    om6r5sqSGG9Magr0
        58
    om6r5sqSGG9Magr0  
       2017-12-15 10:46:11 +08:00
    阿里云,think PHP、微信开放平台、微博开放平台、七牛云、Xcode 文档、都去试试吧。
    slgz
        59
    slgz  
       2017-12-15 10:47:52 +08:00
    有啊,七牛云的文档
    bsmh
        60
    bsmh  
       2017-12-15 11:31:05 +08:00 via Android
    阿里云文档 shit 一样+1,今天凌晨看文档,看的一肚子火。
    JRay
        61
    JRay  
       2017-12-15 12:19:43 +08:00
    @oldcai 好像这些坑我都踩过。。。
    deadEgg
        62
    deadEgg  
       2017-12-15 13:12:16 +08:00
    各位老哥一定没有接过私有商户的第三方支付渠道。

    抱歉,拉个小群,然后口述文档。
    dartabe
        63
    dartabe  
       2017-12-15 14:54:55 +08:00
    微博的文档让人感觉他很纠结 不知道到底要不要做开放平台
    Lotussha
        64
    Lotussha  
       2017-12-15 15:50:37 +08:00
    @deadEgg 我还真接过。。一把辛酸泪。 因为项目需要,一段时间内对接各种什么奇奇怪怪的支付渠道,那些对接人又一个比一个拽。唉
    withrock
        65
    withrock  
       2017-12-15 16:07:37 +08:00
    我感觉国内文档写的比较好的要属 leancloud 了,甩 wechat-pay 几条街。
    他们有专门的一篇文章来讲 [文案风格] ,我了个去,简直太苛刻了,堪比大学生活写答辩论文啊。
    https://open.leancloud.cn/copywriting-style-guide.html
    deadEgg
        66
    deadEgg  
       2017-12-15 16:31:53 +08:00
    @Lotussha

    哎,要接这些渠道基本都不是啥光彩的活。

    这些渠道的人素质都不咋高,和他们沟通真的是困难。一把辛酸泪
    zhpech
        67
    zhpech  
       2017-12-15 16:45:27 +08:00
    我还发现了微信小程序里的错别字,发现好像没啥反馈渠道,就算了……
    notreami
        68
    notreami  
       2017-12-15 16:51:59 +08:00
    阿里 表示,就这样,我也要抄袭这个文档。。。。
    viator42
        69
    viator42  
       2017-12-15 16:58:14 +08:00
    就不靠谱程度来说,谁也比不上银联的
    JRay
        70
    JRay  
       2017-12-15 17:45:21 +08:00
    最关键的MD还没有人工客服。。。支付宝好歹还有个人工客服,搞不懂了可以问一问
    kmahyyg
        71
    kmahyyg  
       2017-12-15 17:55:16 +08:00 via Android
    萌新看了一遍微信小程序的文档………只有 MMP ……倒是各国外大厂二次开发的 sdk,不仅文档详细还有例程。如果照文档写哪里写错了还可以看看例程………

    淘宝开放平台+ 1 ………简直了………
    rswl
        72
    rswl  
       2017-12-15 17:56:29 +08:00
    当年弄也是撞了一头包
    danielmiao
        73
    danielmiao  
       2017-12-15 20:17:26 +08:00
    那。。。产品的文档怎么算
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1257 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 107ms UTC 23:40 PVG 07:40 LAX 16:40 JFK 19:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86