Android WebView'ı kullanma

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

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.