ธุรกิจบางแห่งจำเป็นต้องฝังกระบวนการชำระเงินบนเว็บในแอปพลิเคชันบนอุปกรณ์เคลื่อนที่โดยใช้ 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 คุณต้องทำการเปลี่ยนแปลงต่อไปนี้ในโค้ดของแอป
เพิ่ม (หรืออัปเดต) การพึ่งพาบิลด์
ดึงดูด
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 คุณต้องเผยแพร่คู่มือการผสานรวมให้เสร็จสมบูรณ์