Apakah Aplikasi Android Anda menyematkan proses checkout web dengan menggunakan WebView?
Dengan senang hati kami umumkan bahwa Google Pay kini didukung dalam Android WebView. Fitur ini tersedia di WebView mulai versi 137.
Solusinya menggunakan API Permintaan Pembayaran yang memungkinkan peluncuran aplikasi pembayaran Android saat situs web tersemat di dalam WebView.
Mulai Layanan Google Play 25.18.30 (tersedia hari ini), Google Pay akan memicu lembar pembayaran asli yang berarti token perangkat pengguna akan tersedia untuk fasilitasi saat dipicu dari dalam WebView.
Karena API Permintaan Pembayaran akan dinonaktifkan secara default untuk WebView, perubahan sederhana berikut perlu diterapkan:
Tambahkan (atau update) dependensi build:
androidx.webkit:webkit:1.14.0
Tambahkan tag kueri
berikut ke AndroidManifest.xml:
<!--
Allow Chromium defined actions PAY, IS_READY_TO_PAY,
UPDATE_PAYMENT_DETAILS to be initiated in your Android App or SDK
-->
<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 API Permintaan Pembayaran untuk WebView yang Anda gunakan di Aplikasi Anda. Pastikan untuk menggunakan pernyataan impor yang benar. Tidak diperlukan perubahan khusus Google Pay lainnya.
Kotlin (Compose):
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.webkit.WebSettingsCompat;
import androidx.webkit.WebViewFeature;
AndroidView(
factory = {
WebView(it).apply {
// Update WebView settings to allow JavaScript and payment request
settings.javaScriptEnabled = true
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);
}
Terakhir, pastikan untuk menggunakan Pay & Wallet console untuk meminta akses produksi untuk Aplikasi Anda:
Mendukung Google Pay dalam Android WebView memungkinkan Anda menawarkan Google Pay kepada pengguna Android saat menyematkan checkout web di aplikasi Anda. Untuk bantuan lebih lanjut terkait penerapan, masuk ke Google Pay & Wallet Console untuk membuat tiket dukungan. Selain itu, Anda dapat bergabung dengan komunitas developer di saluran #payments di Discord.
Ikuti @GooglePayDevs di X untuk update mendatang. Jika ada pertanyaan, beri tag @GooglePayDevs dan sertakan #AskGooglePayDevs di tweet Anda.