Algumas empresas precisam incorporar o processo de finalização de compra na Web aos aplicativos para dispositivos móveis usando uma WebView. Este guia mostra as etapas necessárias para oferecer suporte ao Google Pay na sua WebView depois de concluir a integração do Google Pay na Web.
Requisitos de dispositivos do usuário
- Google Play Services versão 25.18.30 ou mais recente
- Android WebView para Chrome versão 137 ou mais recente
Mudanças necessárias no app
A API Payment Request é usada para iniciar a página do Google Pay quando o processo de finalização de compra na Web está incorporado em uma WebView do Android. Por padrão, a API Payment Request fica desativada para a WebView. As seguintes mudanças no código do app são obrigatórias:
Adicione (ou atualize) a dependência de build:
Groovy
dependencies { implementation 'androidx.webkit:webkit:1.14.0' }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Catálogo de versões
[versions] webkit = "1.14.0" [libraries] androidx-ktx = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
Adicione as seguintes tags <queries> ao 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>
Ative a API Payment Request para a WebView usada no app.
Use a instrução de importação correta para o código que você está usando.
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); }
Publicar a integração
Para que seu app possa usar o Google Pay no Android WebView, é necessário concluir o guia de publicação da integração.