Utiliser Android WebView

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

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.