有些商家需要能够使用 WebView 将其网页结账流程嵌入到移动应用中。本指南将引导您完成在 WebView 中支持 Google Pay 所需的步骤,前提是您已完成 Google Pay Web 集成。
用户设备要求
- Google Play 服务版本为 25.18.30 或更高版本
- 适用于 Chrome 的 Android WebView 版本 137 或更高版本
必需的应用更改
当网页结账流程嵌入到 Android WebView 中时,Payment Request API 用于启动 Google Pay 界面。 默认情况下,Payment Request API 将针对 WebView 处于停用状态。您需要对应用代码进行以下更改:
添加(或更新)build 依赖项:
Groovy
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
版本目录
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
将以下 <queries> 标记添加到 AndroidManifest.xml:
<queries> <intent> <action android:name="org.chromium.intent.action.PAY"/> </intent> <intent> <action android:name="org.chromium.intent.action.IS_READY_TO_PAY"/> </intent> <intent> <action android:name="org.chromium.intent.action.UPDATE_PAYMENT_DETAILS"/> </intent> </queries>
为应用中使用的 WebView 启用 Payment Request API。
请务必为所使用的代码使用正确的 import 语句。
Kotlin
import android.webkit.WebSettings; import android.webkit.WebView; import androidx.webkit.WebSettingsCompat; import androidx.webkit.WebViewFeature; AndroidView( factory = { // Update WebView settings to allow JavaScript and payment request settings.javaScriptEnabled = true WebView(it).apply { if (WebViewFeature.isFeatureSupported( WebViewFeature.PAYMENT_REQUEST)) { WebSettingsCompat.setPaymentRequestEnabled(settings, true); } } }, update = {it.loadUrl(url) } )
Java
import android.webkit.WebSettings; import android.webkit.WebView; import androidx.webkit.WebSettingsCompat; import androidx.webkit.WebViewFeature; WebView webView = findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); // Update WebView settings to allow JavaScript and payment request webSettings.setJavaScriptEnabled(true); if (WebViewFeature.isFeatureSupported( WebViewFeature.PAYMENT_REQUEST)) { WebSettingsCompat.setPaymentRequestEnabled(webSettings, true); }
发布集成
为了让您的应用能够在 Android WebView 中使用 Google Pay,您必须完成发布集成指南。