Một số doanh nghiệp cần có khả năng nhúng quy trình thanh toán trên web vào các ứng dụng di động bằng cách sử dụng WebView. Hướng dẫn này sẽ hướng dẫn bạn các bước cần thiết để hỗ trợ Google Pay trong WebView sau khi bạn hoàn tất quy trình tích hợp Google Pay trên web.
Yêu cầu đối với thiết bị của người dùng
- Dịch vụ Google Play phiên bản 25.18.30 trở lên
- Android Webview cho Chrome phiên bản 137 trở lên
Thay đổi bắt buộc đối với ứng dụng
Payment Request API được dùng để chạy trang Google Pay khi quy trình thanh toán trên web được nhúng trong một WebView Android. Theo mặc định, Payment Request API sẽ bị vô hiệu hoá đối với WebView. Bạn phải thực hiện những thay đổi sau đối với mã ứng dụng:
Thêm (hoặc cập nhật) phần phụ thuộc của bản dựng:
Groovy
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Danh mục phiên bản
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
Thêm các thẻ <queries> sau đây vào tệp 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>
Bật Payment Request API cho WebView mà bạn sử dụng trong Ứng dụng.
Hãy nhớ sử dụng đúng câu lệnh nhập cho mã mà bạn đang dùng.
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); }
Xuất bản chế độ tích hợp
Để ứng dụng của bạn được phép sử dụng Google Pay trong Android WebView, bạn phải hoàn tất hướng dẫn xuất bản quy trình tích hợp.