UNPKG

@rnw-community/react-native-payments

Version:

Accept Payments with Apple Pay and Android Pay using the Payment Request API.

38 lines (31 loc) 1.52 kB
import { AndroidConfig, withAndroidManifest } from '@expo/config-plugins'; import { validateGooglePayEnvironment } from './validate-google-pay-environment.util.js'; import { validateSupportedNetworks } from './validate-supported-networks.util.js'; import type { ReactNativePaymentsPluginProps } from './plugin.props.js'; import type { ConfigPlugin } from '@expo/config-plugins'; export const withGooglePay: ConfigPlugin<ReactNativePaymentsPluginProps> = ( initialConfig, { supportedNetworks, googlePayEnvironment } ) => { const validatedSupportedNetworks = validateSupportedNetworks(supportedNetworks); const validatedGooglePayEnvironment = validateGooglePayEnvironment(googlePayEnvironment); return withAndroidManifest(initialConfig, config => { const mainApplication = AndroidConfig.Manifest.getMainApplicationOrThrow(config.modResults); AndroidConfig.Manifest.addMetaDataItemToMainApplication( mainApplication, 'com.google.android.gms.wallet.api.enabled', 'true' ); AndroidConfig.Manifest.addMetaDataItemToMainApplication( mainApplication, 'com.google.android.gms.wallet.api.environment', validatedGooglePayEnvironment ); AndroidConfig.Manifest.addMetaDataItemToMainApplication( mainApplication, 'com.rnw-community.react-native-payments.supported-networks', validatedSupportedNetworks.join(',') ); return config; }); };