UNPKG

@adyen/react-native

Version:

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

37 lines (30 loc) 1.08 kB
import { NativeModules } from 'react-native'; import { ModuleMock } from '../base/ModuleMock'; import { AdyenCSEWrapper } from './AdyenCSEModuleWrapper'; import type { Card } from './types'; /** Describes a native module capable of encrypting card data. */ export interface AdyenCSEModule { /** Method to encrypt card. */ encryptCard(payload: Card, publicKey: string): Promise<Card>; /** Method to encrypt BIN(first 6-11 digits of the card). */ encryptBin(payload: string, publicKey: string): Promise<string>; /** Method to validate card number. */ validateCardNumber( cardNumber: string, enableLuhnCheck: boolean ): Promise<boolean>; /** Method to validate card expiry date. */ validateCardExpiryDate( expiryMonth: string, expiryYear: string ): Promise<boolean>; /** Method to validate card security code. */ validateCardSecurityCode( securityCode: string, cardBrand?: string ): Promise<boolean>; } /** Encryption helper. */ export const AdyenCSE: AdyenCSEModule = new AdyenCSEWrapper( NativeModules.AdyenCSE ?? ModuleMock );