ธุรกิจบางแห่งจำเป็นต้องฝังกระบวนการชำระเงินบนเว็บในแอปพลิเคชันบนอุปกรณ์เคลื่อนที่โดยใช้ WebView คู่มือนี้จะแนะนำขั้นตอนที่จำเป็นในการรองรับ Google Pay ใน WebView หลังจากที่คุณทำการผสานรวม Google Pay บนเว็บเสร็จแล้ว
ข้อกำหนดเกี่ยวกับอุปกรณ์ของผู้ใช้
- บริการ Google Play เวอร์ชัน 25.18.30 ขึ้นไป
- Android WebView สำหรับ Chrome เวอร์ชัน 137 ขึ้นไป
การเปลี่ยนแปลงแอปที่จำเป็น
Payment Request API ใช้เพื่อเปิดชีต Google Pay เมื่อฝังกระบวนการชำระเงินบนเว็บใน Android WebView โดยค่าเริ่มต้น ระบบจะปิดใช้ Payment Request API สำหรับ WebView คุณต้องทำการเปลี่ยนแปลงต่อไปนี้ในโค้ดของแอป
เพิ่ม (หรืออัปเดต) ทรัพยากร Dependency ของบิลด์
ดึงดูด
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
แคตตาล็อกเวอร์ชัน
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
เพิ่มแท็ก <queries> ต่อไปนี้ลงใน 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>
เปิดใช้ Payment Request API สำหรับ WebView ที่คุณใช้ในแอป
โปรดตรวจสอบว่าคุณใช้คำสั่งนำเข้าที่ถูกต้องสำหรับโค้ดที่คุณใช้
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); }
เผยแพร่การผสานรวม
หากต้องการให้แอปได้รับอนุญาตให้ใช้ Google Pay ภายใน Android WebView คุณต้องเผยแพร่คู่มือการผสานรวมให้เสร็จสมบูรณ์