@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
text/typescript
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.'
);
}
}
}