【问题标题】:Stripe checkout integration in AndroidAndroid 中的 Stripe 结账集成
【发布时间】:2021-08-31 14:10:54
【问题描述】:

我正在尝试将 Stripe 结帐集成到一个 android 应用程序中。目前我正在从后端接收结帐会话 ID。我需要在应用程序中运行这个 js 代码

<script src="https://js.stripe.com/v3/"></script>
<script>
  var stripe = Stripe('publishable_key')

  stripe.redirectToCheckout({
    sessionId:session.id

    })
</script>

在 web 中,此代码重定向到 Stripe 中托管的页面。如何在 android 中实现相同的功能。Stripe 支持建议我不要使用 webview,因为该解决方案似乎存在一些问题。如何从这里进一步前进。

【问题讨论】:

    标签: javascript android webview stripe-payments


    【解决方案1】:

    如果您不想使用WebView,那么您唯一的选择是使用 Stripe android SDK。没有其他方法可以直接在android中运行js代码。特别是因为此代码只是重定向到需要 WebView 的 Stripe 网关。

    Stripe 在https://stripe.com/docs/payments/accept-a-payment?platform=android 上有关于要遵循的步骤的适当文档。根据您的用例,您仍然需要在后端执行一些操作。

    【讨论】:

    • 感谢您的回答。如果我们使用 webview ,我们将如何检测 webview 的目的是否完整并关闭 webview 。例如 - 如果付款完成,我们将如何检测到,以便我们可以关闭 webview
    • @newbie_coder 我不确定 stripe 是如何处理付款的,但您需要有一个自己的网页,该网页打开 stripe,并在从 stripe 付款后再次调用。你可以试试RazorPay recommends 之类的东西。请注意,这仍然需要大量工作和自定义,因为默认情况下 webview 不允许多个窗口,并且支付网关通常会在新窗口中打开银行页面(如果有帮助,请为答案投票)
    • 澄清一下,您自己的网页(在付款后加载)将负责使用JavaScriptInterface 与android 通信。您可能可以直接在 webview 上启动 stripe 的页面,但您肯定需要一个自己的网页来接收付款状态并与应用程序进行通信。
    • 感谢您的回复。我没有足够的声望来投票。
    • @newbie_coder 没问题。如果我的回答解决了问题,请确保您accept the answer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2021-08-06
    • 2020-01-13
    • 2017-10-28
    • 2014-11-28
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多