部分商家需要使用 WebView,將網路結帳程序嵌入行動應用程式。本指南將逐步說明完成 Google Pay 網頁整合後,如何在 WebView 中支援 Google Pay。
使用者裝置需求
- Google Play 服務 25.18.30 以上版本
- Android Webview for Chrome 137 以上版本
必須變更應用程式
當網頁結帳程序嵌入 Android WebView 時,系統會使用 Payment Request API 啟動 Google Pay 結帳頁面。 根據預設,WebView 會停用 Payment Request API。您必須對應用程式碼進行下列變更:
新增 (或更新) 建構依附元件:
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" }
在 AndroidManifest.xml 中加入下列 <queries> 標記:
<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。
請務必為使用的程式碼加入正確的匯入陳述式。
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,您必須完成發布整合指南。