UNPKG

@adyen/react-native

Version:

Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native

42 lines (37 loc) 1.19 kB
import type { AdyenActionComponent, Configuration, PaymentAction, PaymentMethod, } from '../../core'; import { PaymentComponentWrapper } from '../base/PaymentComponentWrapper'; import type { ApplePayModule } from './AdyenApplePay'; import type { PaymentModule } from '../base/PaymentComponentWrapper'; /** Native module interface specific to ApplePay */ interface ApplePayNativeModule extends ApplePayModule, PaymentModule { // TODO: add express payment events } /** * Apple Pay wrapper - no additional events beyond inherited ones. * @todo add express payment events */ export class ApplePayWrapper extends PaymentComponentWrapper<ApplePayNativeModule> implements ApplePayModule, AdyenActionComponent { name: string = 'ApplePay'; isAvailable( paymentMethods: PaymentMethod, configuration: Configuration ): Promise<boolean> { return this.nativeModule.isAvailable(paymentMethods, configuration); } handle(_action: PaymentAction): void { if (__DEV__) { console.warn( 'ApplePayWrapper.handle() was called, but Apple Pay does not support action handling. ' + 'This is likely a bug in your integration.' ); } } }