@lmapp/react-native-cloudpayments
Version:
π ΠΠΎΡΠ½ΡΠΉ SDK Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ CloudPayments Π² React Native. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Apple Pay, Google Pay, Π‘ΠΠ, Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΡ ΠΊΠ°ΡΡ. ΠΠΎΠ»Π½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ TypeScript. iOS 12+ ΠΈ Android 21+
55 lines (47 loc) β’ 1.57 kB
text/typescript
import CloudpaymentsSdk from '../NativeCloudpaymentsSdk';
import { isValidExpDate } from '../utils';
import type { ICardService, IBankInfo, IPublicKeyResponse } from '../types';
export const CardService: ICardService = {
async isValidCardNumber(cardNumber: string): Promise<boolean> {
return CloudpaymentsSdk.isCardNumberValid(cardNumber);
},
getBankInfo(cardNumber: string): Promise<IBankInfo> {
//@ts-ignore
return CloudpaymentsSdk.getBankInfo(cardNumber);
},
async getPublicKey(): Promise<IPublicKeyResponse> {
const pemKey = await CloudpaymentsSdk.getPublicKey();
// ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡ IPublicKeyResponse
return {
Pem: pemKey,
Version: 1, // ΠΠ΅ΡΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ PEM
};
},
};
// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π΅ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
export const CardUtils = {
isExpDateValid(expDate: string) {
return CloudpaymentsSdk.isExpDateValid(expDate);
},
isValidCvv(cvv: string, isCvvRequired: boolean) {
return CloudpaymentsSdk.isValidCvv(cvv, isCvvRequired);
},
isValidExpDate,
makeCardCryptogramPacket(
cardNumber: string,
expDate: string,
cvv: string,
merchantPublicID: string,
publicKey: string,
keyVersion: number
) {
return CloudpaymentsSdk.makeCardCryptogramPacket(
cardNumber,
expDate,
cvv,
merchantPublicID,
publicKey,
keyVersion
);
},
};