V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yaoyuan1072
V2EX  ›  问与答

微信支付时大家有没有遇到“不允许跨号支付”的情况?

  •  
  •   yaoyuan1072 · 2016-03-16 14:57:48 +08:00 · 8171 次点击
    这是一个创建于 3156 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现象: A 公共号上面的商品 URL ,拿到 B 公众号上面推广,通过商品页面正常购买并且支付,会提示出不允许跨号支付;支付失败;

    疑问:
    这样的话,是不是每个公众号的商品只能在自己的平台上支付么?
    熟悉微信支付接口的大神可否解答一下,感激不尽;


    另外,据说引用第三方的 ping++,微盟等支付平台,支付的时候钱款走到平台上,再分发到其他账户,可以解决。但是第三方平台是如何解决“跨号支付”这种应用场景的呢?
    15 条回复    2017-11-02 20:28:11 +08:00
    alex321
        1
    alex321  
       2016-03-16 15:10:48 +08:00
    服务号和政府、媒体订阅号公众号的支付功能是针对公众号内使用的。
    ping++ 的我没看,猜测应该是开放平台的支付。
    b821025551b
        2
    b821025551b  
       2016-03-16 15:12:56 +08:00
    先正常调用支付,如错误码为禁止跨号,采用二维码方式让用户扫码支付。
    SpicyCat
        3
    SpicyCat  
       2016-03-16 15:16:32 +08:00
    好像是没有认证会出现你说的那种情况,但也不是不能支付,长按二维码扫码支付即可。就是用户体验不太好。
    yaoyuan1072
        4
    yaoyuan1072  
    OP
       2016-03-16 15:21:17 +08:00
    @b821025551b
    @SpicyCat
    貌似现在很多方案都是这样的。尝试这样处理了。但是这个支付体验不好。而且识别码支付完毕无法回调;不能跳转到支付成功的页面?
    b821025551b
        5
    b821025551b  
       2016-03-16 15:23:52 +08:00
    @yaoyuan1072 简单粗暴的方法定时查询,好一点可以 socket 长连接
    yaoyuan1072
        6
    yaoyuan1072  
    OP
       2016-03-16 15:24:50 +08:00
    @alex321
    唉,困扰很久的问题了。一个商品 URL 拿到其他地方就没办法支付了。。第三方有神秘加成么还是和微信有什么关系。好像调用第三方的支付接口就木有这问题
    JiShuTui
        7
    JiShuTui  
       2016-03-16 15:25:10 +08:00
    原因在于支付时需要用到 openid ,而 A 、 B 两个号得到的 openid 是不一样的。
    解决办法就是 A 的商品在 B 上面推广,在需要用户授权时,不要使用 B 的授权,而是用 A 的授权。

    如果你真的需要用 B 授权,那么就只能 B 授权之后再用 A 再授权一次(这次可以使用用户无感知的静默授权),也就是最终目的都是为了获取到 A 的 openid 。
    JiShuTui
        8
    JiShuTui  
       2016-03-16 15:27:15 +08:00
    你用哪个服务号申请的微信支付,那么调用统一下单接口时就必须用这个号的用户的 openid
    deben
        9
    deben  
       2016-03-16 15:30:05 +08:00
    可以参考有赞的做法, 遇到错误就用二维码支付
    JiShuTui
        10
    JiShuTui  
       2016-03-16 15:32:00 +08:00
    好吧,看来我理解错了。
    https://segmentfault.com/q/1010000002545549
    yaoyuan1072
        11
    yaoyuan1072  
    OP
       2016-03-16 15:59:27 +08:00
    @JiShuTui
    囧~~
    现在普遍的做法是换成二维码。。
    yaoyuan1072
        12
    yaoyuan1072  
    OP
       2016-03-16 16:00:40 +08:00
    @deben
    第三方的支付平台是什么原理呢?支付的时候调用的是支付平台的支付接口?他们不会遇到跨号问题么?
    ty0716
        13
    ty0716  
       2016-03-16 16:02:22 +08:00
    扫码支付,wap 支付[据说要单独申请],https://pay.weixin.qq.com/wiki/doc/api/wap.php?chapter=15_3
    deben
        14
    deben  
       2016-03-16 18:05:38 +08:00 via Android
    @yaoyuan1072 挺长时间没接触微信支付接口了,抱歉没有办法解答这个问题。
    cocalrush
        15
    cocalrush  
       2017-11-02 20:28:11 +08:00 via Android
    微信支付接口升级接口后,公众号支付会校验预定单号和支付时的 openid 是否一致了。不同 appid 的用户 openid 是不一样的。今年好像四月份还是五月份升级的来着。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3115 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:53 · PVG 21:53 · LAX 05:53 · JFK 08:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.