@rnw-community/react-native-payments
Version:
Accept Payments with Apple Pay and Android Pay using the Payment Request API.
21 lines • 1.18 kB
JavaScript
import { withEntitlementsPlist } from '@expo/config-plugins';
import { isDefined, isEmptyArray, isNotEmptyString } from '@rnw-community/shared';
export const withApplePay = (initialConfig, { merchantIdentifier }) => {
const merchantIdentifiers = (Array.isArray(merchantIdentifier) ? merchantIdentifier : [merchantIdentifier]).filter(isNotEmptyString);
if (isEmptyArray(merchantIdentifiers)) {
throw new Error(`Please provide "@rnw-community/react-native-payments" plugin option "merchantIdentifier"`);
}
return withEntitlementsPlist(initialConfig, configWithEntitlements => {
if (!isDefined(configWithEntitlements.modResults['com.apple.developer.in-app-payments'])) {
configWithEntitlements.modResults['com.apple.developer.in-app-payments'] = [];
}
const applePayArray = configWithEntitlements.modResults['com.apple.developer.in-app-payments'];
for (const identifier of merchantIdentifiers) {
if (!applePayArray.includes(identifier)) {
applePayArray.push(identifier);
}
}
return configWithEntitlements;
});
};
//# sourceMappingURL=with-apple-pay.js.map