@lomray/microservice-payment-stripe
Version:
Stripe payment microservice based on NodeJS & inverted json.
29 lines (26 loc) • 912 B
JavaScript
;
/**
* Check if card expiration date valid
*/
const isCardExpirationDateValid = (date) => {
const currentDate = new Date();
const [expirationMonth, expirationYear] = date.split('/');
if (!expirationMonth || !expirationYear) {
return false;
}
const expirationDate = new Date(getExpirationYear(expirationYear, currentDate), Number(expirationMonth), 1);
expirationDate.setHours(0, 0, 0, 0);
return expirationDate >= currentDate;
};
/**
* Returns expiration year
*/
const getExpirationYear = (expirationYear, currentDate) => {
const currentCentury = Math.floor(currentDate.getFullYear() / 100) * 100;
let parsedExpirationYear = Number(expirationYear);
if (parsedExpirationYear >= 0 && parsedExpirationYear <= 99) {
parsedExpirationYear += currentCentury;
}
return parsedExpirationYear;
};
module.exports = isCardExpirationDateValid;