Certaines entreprises ont besoin d'intégrer leur processus de paiement sur le Web dans leurs applications mobiles à l'aide d'une WebView. Ce guide vous explique comment prendre en charge Google Pay dans votre WebView après avoir effectué l'intégration de Google Pay sur le Web.
Conditions requises concernant l'appareil de l'utilisateur
- Services Google Play version 25.18.30 ou ultérieure
- Version 137 ou ultérieure d'Android WebView pour Chrome
Modifications requises pour l'application
L'API Payment Request est utilisée pour lancer la feuille Google Pay lorsque le processus de paiement en ligne est intégré dans une WebView Android. Par défaut, l'API Payment Request sera désactivée pour WebView. Les modifications suivantes doivent être apportées au code de votre application :
Ajoutez (ou mettez à jour) la dépendance de compilation :
Groovy
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Catalogue des versions
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
Ajoutez les balises <queries> suivantes à votre fichier 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>
Activez l'API Payment Request pour la WebView que vous utilisez dans votre application.
Veillez à utiliser la bonne instruction d'importation pour le code que vous utilisez.
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); }
Publier votre intégration
Pour que votre application soit autorisée à utiliser Google Pay dans Android WebView, vous devez suivre le guide de publication de votre intégration.