Menggunakan Android WebView

Beberapa bisnis memerlukan kemampuan untuk menyematkan proses checkout web mereka di aplikasi seluler dengan menggunakan WebView. Panduan ini akan memandu Anda melakukan langkah-langkah yang diperlukan untuk mendukung Google Pay di WebView setelah Anda menyelesaikan integrasi Web Google Pay.

Persyaratan perangkat pengguna

Perubahan Aplikasi yang Diperlukan

Payment Request API digunakan untuk meluncurkan halaman Google Pay saat proses checkout web disematkan di Android WebView. Secara default, Payment Request API akan dinonaktifkan untuk WebView. Perubahan berikut pada kode aplikasi Anda diperlukan:

Tambahkan (atau perbarui) dependensi build:

Groovy

dependencies {
    implementation 'androidx.webkit:webkit:1.14.0'
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.14.0")
}

Katalog versi

[versions]
webkit = "1.14.0"

[libraries]
androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }

Tambahkan tag <queries> berikut ke AndroidManifest.xml Anda:

<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>
    

Aktifkan Payment Request API untuk WebView yang Anda gunakan di Aplikasi Anda.

Pastikan untuk menggunakan pernyataan impor yang benar untuk kode yang Anda gunakan.

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);
}
      

Memublikasikan integrasi Anda

Agar aplikasi Anda diizinkan menggunakan Google Pay dalam Android WebView, Anda harus menyelesaikan panduan memublikasikan integrasi Anda.