@malga-checkout/core
Version:
Core components for Malga Checkout
23 lines (22 loc) • 682 B
JavaScript
import { BaseProvider } from '../base-provider';
import { parseInstallments } from '@malga-checkout/utils';
import { handleAlreadyTokenizedCard, handleTokenizationFlow, } from './card.utils';
export class Card extends BaseProvider {
constructor({ card }) {
super({ customer: null, customerId: null });
this.card = card;
}
getPaymentMethod() {
return {
paymentType: 'credit',
installments: parseInstallments(this.card['installments']),
};
}
async getPaymentSource() {
if (this.card['cardCvv'] &&
this.card['cardId']) {
return handleAlreadyTokenizedCard(this.card);
}
return await handleTokenizationFlow(this.card);
}
}