UNPKG

react-native-moyasar-sdk

Version:

Official React Native Moyasar SDK - Integrate Credit Cards, Apple Pay, Samsung Pay, and STC Pay with simple interfaces for a seamless payment experience in your React Native app

28 lines (27 loc) 1.02 kB
"use strict"; import { CreditCardNetwork } from "../models/credit_card_network.js"; import { inMadaRange } from "./mada_util.js"; export function getCreditCardNetworkFromNumber(input) { if (inMadaRange(input)) { return CreditCardNetwork.mada; } else if (new RegExp('^3[47]').test(input)) { return CreditCardNetwork.amex; } else if (new RegExp('^4').test(input)) { return CreditCardNetwork.visa; } else if (new RegExp('^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)').test(input)) { return CreditCardNetwork.master; } return CreditCardNetwork.unknown; } export function isValidLuhn(cardNumber) { const digits = cardNumber.split('').reverse().map(digit => parseInt(digit, 10)); const sum = digits.reduce((acc, digit, index) => { if (index % 2 === 1) { const doubled = digit * 2; return acc + (doubled > 9 ? doubled - 9 : doubled); } return acc + digit; }, 0); return sum % 10 === 0; } //# sourceMappingURL=credit_card_utils.js.map