为什么支付网关无法通过应用程序链接打开我的 Android 应用程序?

问题描述 投票:0回答:2

我正在实现一个 Android 应用程序,该应用程序使用在浏览器中打开的支付网关。支付完成后,支付网关应自动重定向到我指定的成功支付 URL。然而,目前,此重定向不是打开我的 Android 应用程序,而是在浏览器中重定向。

所以我的问题是,是否有特定场景会导致 Android 使用 App Link 打开应用程序?诸如需要在锚标记或类似标签上设置的属性之类的东西?从 App Links 的文档来看,似乎不需要什么特别的,因为他们声明应用程序成为该 URL 的默认处理程序https://developer.android.com/training/app-links

支付网关网页是支付提供商提供的,所以我无法修改。但是,在尝试使用应用程序链接测试打开应用程序时,我尝试制作自己的自定义网页,其中包含包含应用程序链接的按钮和锚标记。但这些都没有启动该应用程序。

这就是我的应用程序的清单条目,用于配置应用程序链接

            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="https"/>
                <data android:scheme="http"/>
                <data android:host="5d1a-196-251-220-14.ngrok-free.app"/>
            </intent-filter>

我还设置了 https://5d1a-196-251-220-14.ngrok-free.app/.well-known/assetlinks.json,并且它似乎已按预期进行验证:

enter image description here

运行以下命令也可以在预期路径成功打开应用程序:

adb shell am start -W -a android.intent.action.VIEW -d "https://5d1a-196-251-220-14.ngrok-free.app/paymentSucceeded"

任何帮助将不胜感激。据我所知,一切都已就绪,可以让应用程序链接正常工作,所以我想知道我是否可能会误解应用程序链接何时实际打开应用程序。

android http-redirect payment-gateway android-deep-link android-app-links
2个回答
0
投票

这一直有点棘手,我们过去使用过 https://www.branch.io/ 来进行深度链接。 我很好奇为什么你要把注意力从你的应用程序上移开并在浏览器中显示支付屏幕。 如果您将付款信息直接发送给您的提供商,您可以将其嵌入到您的应用程序中,并且仍然不符合更高的 PCI 合规性。 我们将 USIO 的 Checkout 平台 (https://checkout.usiopay.com/2.0/documentation/) 集成到我们的移动应用程序中。他们有一个网络用户界面,但也很容易直接在应用程序中完成并保持无缝体验。


0
投票

与其将用户重定向到浏览器(这可能会破坏流程),更好的做法是在 Web 视图(应用内浏览器)中呈现支付网关提供的 URL。这可确保应用程序在付款完成后重新获得控制权。

© www.soinside.com 2019 - 2024. All rights reserved.