Bazı işletmeler, WebView kullanarak web'deki ödeme sürecini mobil uygulamalarına yerleştirebilmeyi ister. Bu kılavuz, Google Pay Web entegrasyonunu tamamladıktan sonra WebView'da Google Pay'i desteklemek için gereken adımları açıklar.
Kullanıcı cihazı gereksinimleri
- Google Play Hizmetleri'nin 25.18.30 veya sonraki bir sürümü
- Chrome için Android WebView 137 veya sonraki sürümler
Gerekli uygulama değişiklikleri
Ödeme İsteği API'si, web'deki ödeme işlemi bir Android WebView'ye yerleştirildiğinde Google Pay sayfasını başlatmak için kullanılır. Ödeme İsteği API'si, WebView için varsayılan olarak devre dışı bırakılır. Uygulama kodunuzda aşağıdaki değişikliklerin yapılması gerekir:
Derleme bağımlılığı ekleme (veya güncelleme):
Modern
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Sürüm kataloğu
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
AndroidManifest.xml dosyanıza aşağıdaki <queries> etiketleri ekleyin:
<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>
Uygulamanızda kullandığınız WebView için Payment Request API'yi etkinleştirin.
Kullandığınız kod için doğru içe aktarma ifadesini kullandığınızdan emin olun.
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); }
Entegrasyonunuzu yayınlama
Uygulamanızın Android WebView'da Google Pay'i kullanmasına izin verilmesi için entegrasyon kılavuzunuzu yayınlamanız gerekir.