יש עסקים שצריכים להטמיע את תהליך התשלום באתר שלהם באפליקציות לנייד באמצעות WebView. במדריך הזה מוסבר איך להוסיף תמיכה ב-Google Pay ב-WebView אחרי שמשלימים את השילוב של Google Pay באתר.
דרישות לגבי מכשירים של משתמשים
- גרסה 25.18.30 ואילך של Google Play Services
- Android Webview ל-Chrome מגרסה 137 ואילך
שינויים נדרשים באפליקציה
ה-API של בקשת התשלום משמש להפעלת גיליון Google Pay כשתהליך התשלום באתר מוטמע ב-Android WebView. כברירת מחדל, Payment Request API מושבת ב-WebView. צריך לבצע את השינויים הבאים בקוד האפליקציה:
מוסיפים (או מעדכנים) יחסי תלות ב-build:
Groovy
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, אתם צריכים לפרסם את מדריך השילוב.