• 请不要在回答技术问题时复制粘贴 AI 生成的内容
oldcai
0.01D
V2EX  ›  程序员

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

  •  2
     
  •   oldcai ·
    PRO
    ·
    oldcai · Dec 14, 2017 · 11850 views
    This topic created in 3248 days ago, the information mentioned may be changed or developed.
    每次对接微信的接口,都屁股疼

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

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

    感觉他们设计的是一个密室跳脱解密的扯淡游戏
    Supplement 1  ·  Dec 14, 2017
    感谢大家的反馈。

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

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

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

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

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

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

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

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

    如果你要用微信服务号来做微信支付,那么两种方式可以获取 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
    qiayue
    Dec 14, 2017
    8
    不同的 app 通过在 open.wx.qq.com 绑定到同一个开发者账号,可以得到 unionid 来确定同一个用户
    liuzhedash
    liuzhedash
    Dec 14, 2017
    10
    如果之前对接过微信的接口,openid 的机制应该不难理解。jsapi 调起微信支付的场景里,通常是网页授权获取用户信息时拿到 openid 的,参考文档:
    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
    Qlccks2
    Qlccks2
    Dec 14, 2017
    11
    顺丰
    liuzhedash
    liuzhedash
    Dec 14, 2017
    12
    我认为微信的文档做得还是不错的,比阿里的要强不少。任何文档都不可能正好按照你的疑问来组织内容,高效地阅读理解文档是值得练习的能力。
    qiayue
    qiayue
    Dec 14, 2017❤️2
    13
    微信支付方式有:
    刷卡支付、公众号支付、扫码支付、APP 支付、H5 支付、小程序支付

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

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

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

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

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

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

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

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

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

    淘宝开放平台+ 1 ………简直了………
    rswl
    rswl
    Dec 15, 2017
    72
    当年弄也是撞了一头包
    danielmiao
    danielmiao
    Dec 15, 2017
    73
    那。。。产品的文档怎么算
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2802 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 142ms · UTC 12:30 · PVG 20:30 · LAX 04:30 · JFK 07:30
    ♥ Do have faith in what you're doing.