تحتاج بعض الأنشطة التجارية إلى إمكانية تضمين عملية الدفع على الويب في تطبيقاتها على الأجهزة الجوّالة باستخدام WebView. يرشدك هذا الدليل إلى الخطوات اللازمة لتفعيل Google Pay في WebView بعد إكمال عملية الدمج مع Google Pay Web.
متطلبات أجهزة المستخدمين
- الإصدار 25.18.30 أو إصدار أحدث من "خدمات Google Play"
- الإصدار 137 أو الإصدارات الأحدث من Android Webview for Chrome
التغييرات المطلوبة في التطبيق
يتم استخدام Payment Request API لتشغيل ورقة Google Pay عندما تكون عملية الدفع على الويب مضمّنة في Android WebView. سيتم إيقاف واجهة برمجة التطبيقات Payment Request API تلقائيًا في WebView. يجب إجراء التغييرات التالية على رمز تطبيقك:
أضِف (أو عدِّل) اعتمادية الإصدار:
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، عليك إكمال دليل النشر الخاص بعملية الدمج.