การใช้ Android WebView

ธุรกิจบางแห่งจำเป็นต้องฝังกระบวนการชำระเงินบนเว็บในแอปพลิเคชันบนอุปกรณ์เคลื่อนที่โดยใช้ WebView คู่มือนี้จะแนะนำขั้นตอนที่จำเป็นในการรองรับ Google Pay ใน WebView หลังจากที่คุณทำการผสานรวม Google Pay บนเว็บเสร็จแล้ว

ข้อกำหนดเกี่ยวกับอุปกรณ์ของผู้ใช้

การเปลี่ยนแปลงแอปที่จำเป็น

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 คุณต้องเผยแพร่คู่มือการผสานรวมให้เสร็จสมบูรณ์