V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TimLang
V2EX  ›  程序员

有大佬知道小程序里面如何不使用微信登录也能使用微信支付吗

  •  
  •   TimLang · 2018-11-03 12:09:41 +08:00 · 5508 次点击
    这是一个创建于 2189 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看小程序的支付文档是必须要使用微信登录的。

    我们使用的第三方的 ping++做支付的,ping++小程序支付也必须传递 openid 才行。

    但我看了下网易严选的小程序,使用邮箱登录后也可以使用微信支付,不知道怎么搞的。
    18 条回复    2018-11-04 14:09:22 +08:00
    TimLang
        1
    TimLang  
    OP
       2018-11-03 12:34:39 +08:00
    已解决,ping++可以绕过微信账号登录,通过微信的 code 直接获取到 open_id,
    metrue
        2
    metrue  
       2018-11-03 12:36:43 +08:00 via iPhone
    openid 很容易获取现在,不需要用户授权的.
    tadtung
        3
    tadtung  
       2018-11-03 12:37:35 +08:00 via Android
    ping++的广告贴?
    我记着现在可以不用的。
    34C
        4
    34C  
       2018-11-03 12:56:09 +08:00 via iPhone
    @TimLang
    @metrue

    借楼问一下,有什么办法可以避免在 H5 页面中静默登录获取 open id 吗,在微信浏览器中要发起微信支付需要 open id,但是静默授权也要跳来跳去几次挺恶心的
    TimLang
        5
    TimLang  
    OP
       2018-11-03 14:04:00 +08:00
    @34C Ping++ 在 Server SDK 中提供了获取 open_id 的方法供参考,你也可以通过 微信官方文档 自行获取 open_id。

    open_id 的获取步骤:

    1、获取 open_id 需要先跳转到微信获取授权 code,Ping++ 提供了获取 code 的方法,该方法需要以下参数:

    wx_app_id:是你的微信公众号应用唯一标识。

    redirect_url:是用户确认授权后跳转的地址,用来接收 code。

    https://pingplusplus.kf5.com/hc/kb/article/123528/

    @tadtung 只是碰到问题来论坛问下,打什么广告啊,真是的。。
    34C
        6
    34C  
       2018-11-03 14:11:40 +08:00 via iPhone
    @TimLang

    现在做的就是这个流程,因为要跳到微信获取 code 再回到服务器换 openid 中间有一两秒空白页面,挺不爽的。

    搞不懂为什么非微信环境发起支付可以不要 openid 而微信内就要。
    TimLang
        7
    TimLang  
    OP
       2018-11-03 14:59:17 +08:00
    @34C 看了下,小程序里面不会啊。你是 h5 页面吧。
    masker
        8
    masker  
       2018-11-03 15:06:23 +08:00 via Android
    ping 艹的广告贴
    34C
        9
    34C  
       2018-11-03 15:32:14 +08:00
    @TimLang 本来我问的就是 H5 页面啊……
    TimLang
        10
    TimLang  
    OP
       2018-11-03 17:19:13 +08:00
    @34C 其实可以的,就是取 openid 的操作让后端去做,前端把 wx_code 的参数传给后端的 api
    metrue
        11
    metrue  
       2018-11-03 18:54:45 +08:00
    @34C 我现在的是直接通过云函数来获取 openid
    34C
        12
    34C  
       2018-11-03 19:23:29 +08:00 via iPhone
    @metrue 需要先获取 code 不
    34C
        14
    34C  
       2018-11-03 22:08:10 +08:00
    @metrue 为啥我问 H5 页面都在跟我讲小程序…… 唉
    metrue
        15
    metrue  
       2018-11-04 00:42:56 +08:00
    @34C 看错了,因为是标题的内容,不好意思。
    SingeeKing
        16
    SingeeKing  
       2018-11-04 02:10:43 +08:00
    @34C #14 你所说的「微信环境外」发起支付是用的 H5 支付接口,而微信内则用的「公众号支付」接口,这两个是不一样的
    34C
        17
    34C  
       2018-11-04 10:20:42 +08:00
    @SingeeKing

    我在 3 楼的原话:

    借楼问一下,有什么办法可以避免在 [H5 页面] 中静默登录获取 open id 吗,在 [微信浏览器] 中要发起微信支付需要 open id,但是静默授权也要跳来跳去几次挺恶心的

    我没有提到 H5 支付接口,也没提到微信环境外。在 5 楼我说的微信环境外可以不带 openid 创建支付订单,但在微信浏览其中要创建预支付订单则要携带 openid 参数。我知道是两个接口,我奇怪的是微信这么设计的原因。
    tmac6740
        18
    tmac6740  
       2018-11-04 14:09:22 +08:00
    公众号支付?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3761 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:15 · PVG 08:15 · LAX 17:15 · JFK 20:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.