تحتاج بعض الأنشطة التجارية إلى إمكانية تضمين عملية الدفع على الويب في تطبيقاتها على الأجهزة الجوّالة باستخدام WebView. يرشدك هذا الدليل إلى الخطوات اللازمة لإتاحة استخدام Google Pay في WebView بعد إكمال عملية دمج Google Pay على الويب.
متطلبات أجهزة المستخدمين
- الإصدار 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) } )
جافا
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، عليك إكمال دليل النشر الخاص بالتكامل.