Android WebView 사용

일부 비즈니스에서는 WebView를 사용하여 모바일 애플리케이션에 웹 결제 프로세스를 삽입할 수 있어야 합니다. 이 가이드에서는 Google Pay 웹 통합을 완료한 후 WebView에서 Google Pay를 지원하는 데 필요한 단계를 안내합니다.

사용자 기기 요구사항

필수 앱 변경사항

결제 요청 API는 웹 결제 프로세스가 Android WebView에 삽입될 때 Google Pay 시트를 실행하는 데 사용됩니다. 기본적으로 결제 요청 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" }

AndroidManifest.xml에 다음 <queries> 태그를 추가합니다.

<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>
    

앱에서 사용하는 WebView에 Payment Request API를 사용 설정합니다.

사용 중인 코드에 올바른 가져오기 문을 사용해야 합니다.

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);
}
      

통합 게시

앱이 Android WebView 내에서 Google Pay를 사용하도록 허용하려면 통합 가이드를 게시해야 합니다.