Alcune attività richiedono la possibilità di incorporare la procedura di pagamento web nelle proprie applicazioni mobile utilizzando WebView. Questa guida ti illustra i passaggi necessari per supportare Google Pay in WebView dopo aver completato l'integrazione web di Google Pay.
Requisiti dei dispositivi degli utenti
- Google Play Services 25.18.30 o versioni successive
- Android WebView per Chrome versione 137 o successive
Modifiche obbligatorie alle app
L'API Payment Request viene utilizzata per avviare il foglio Google Pay quando la procedura di pagamento sul web è incorporata in una WebView di Android. Per impostazione predefinita, l'API Payment Request verrà disattivata per WebView. Sono necessarie le seguenti modifiche al codice dell'app:
Aggiungi (o aggiorna) la dipendenza di build:
Trendy
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Catalogo delle versioni
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
Aggiungi i seguenti tag <queries> al file 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>
Abilita l'API Payment Request per la WebView che utilizzi nella tua app.
Assicurati di utilizzare l'istruzione di importazione corretta per il codice che stai utilizzando.
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); }
Pubblicare l'integrazione
Affinché la tua app possa utilizzare Google Pay all'interno di Android WebView, devi completare la guida alla pubblicazione dell'integrazione.