【问题标题】:firebase dynamic links in stripe throws err_unknown_url_scheme条带中的 firebase 动态链接抛出 err_unknown_url_scheme
【发布时间】:2023-01-16 03:07:43
【问题描述】:

我一直在开发一个带有 firebase 和条纹支付的应用程序。我在条带中创建了一个结帐会话,并为 success_url 和 cancel_url 添加了 firebase 动态链接。网址工作正常。我已经用一个简单的 html 文件在 stripe 外部测试了它们,它打开了应用程序并将用户带到正确的页面。如果该页面不存在,它将把用户带到指定的网站。这是条带结帐会话代码:

const session = await stripe.checkout.sessions.create({
        line_items: [{
            price_data: { currency: 'INR', unit_amount: amount, product_data: { name: 'name' } },
            quantity: 1,
        }],
        mode: 'payment',
        success_url: 'https://-------.page.link/payment-success',
        cancel_url: 'https://-------.page.link/payment-failed',
        payment_intent_data: {
            application_fee_amount: fee
        },
    }, {
        stripeAccount: req.query.stripeId,
    });

我已经更改了实际链接,因为我不知道我可以分享多少。但我可以保证动态链接工作正常。但是在付款之后,至少是测试付款,假设打开应用程序并将用户带到付款成功页面。并且它在前 2 或 3 天运行良好。付款后,它重新打开应用程序并将用户带到正确的页面。但是当我几天后尝试时,这就是它带我们去的:

同样,我删除了链接,因为我不知道我可以分享多少。它现在甚至不会打开应用程序。它只是在浏览器中显示此消息。成功和取消网址都在做同样的事情。为什么链接在函数外起作用但在函数内不起作用?以前有没有人遇到过类似的问题?任何帮助将不胜感激。

【问题讨论】:

    标签: flutter firebase stripe-payments deep-linking firebase-dynamic-links


    【解决方案1】:

    您似乎正试图在 WebView 中打开 Checkout Session,这导致了重定向问题。 Webviews 不知道如何处理 http://https:// 以外的 URL Scheme。话虽这么说,你的问题并不少见,有多种方法可以解决这个问题。 您的第一种方法是按照this答案中所述在外部浏览器中打开Checkout Session,或者尝试创建自己的WebViewClient并覆盖shouldOverrideUrlLoading方法,如this答案中所述。请注意,由于该答案的最后一次编辑,shouldOverrideUrlLoading 方法的签名具有 changed,但逻辑仍应以相同的方式使用,而不是处理 String url,您将不得不处理 @ 987654324@。

    【讨论】:

    • 这奏效了。在 flutter 中,我使用了一个名为 url_launcer 的包。但是当我将它更新到最新版本时,它默认在 webview 中打开 URL。我们必须设置mode: LaunchMode.externalApplication 才能在外部浏览器中打开。这就是它在最初几天的工作方式,我没有注意到变化。谢谢你。
    • 我很高兴听到它对你有用:)
    【解决方案2】:

    有同样的问题。我通过改变模式解决了它,如下所示:

    await launchUrl(
      url,
      mode: LaunchMode.externalApplication, // Add this line
    )
    

    url_launcher 版本 => 6.1.7

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多