The widget runs inside a browser container on mobile. Different containers have different compatibility with Apple Pay, Google Pay, and KYC camera access.
iOS
Camera Permission (KYC)
KYC liveness check requires camera access. Add to your Info.plist:
<key>NSCameraUsageDescription</key>
<string>Required for identity verification</string>
WKWebView Setup
If embedding the widget inside a WKWebView:
let configuration = WKWebViewConfiguration()
configuration.allowsInlineMediaPlayback = true
let webView = WKWebView(frame: .zero, configuration: configuration)
Apple Pay Compatibility
| Container | Apple Pay |
|---|
| Safari | ✅ Works |
| WKWebView | ✅ Works |
| Chrome / Chromium-based container | ❌ Does not work |
If Apple Pay is important for your users, make sure the widget opens in Safari or WKWebView — not a Chromium-based container.
Android
Recommended: Chrome Custom Tabs
Use Chrome Custom Tabs for the best compatibility. Google Pay works, KYC camera works, no extra configuration needed.
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context, Uri.parse(widgetUrl));
WebView Setup
If using WebView instead of Chrome Custom Tabs:
AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
WebView settings:
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(PermissionRequest request) {
request.grant(request.getResources());
}
});
Google Pay Compatibility
| Container | Google Pay |
|---|
| Chrome Custom Tabs | ✅ Works |
| WebView | ❌ Does not work |
Google Pay does not work in Android WebView. If your users need Google Pay, use Chrome Custom Tabs.
Compatibility Summary
| Feature | iOS Safari | iOS WKWebView | Android Custom Tabs | Android WebView |
|---|
| KYC Camera | ✅ | ✅ | ✅ | ✅ (with config) |
| Apple Pay | ✅ | ✅ | ❌ | ❌ |
| Google Pay | ❌ | ❌ | ✅ | ❌ |