@malga-checkout/core
Version:
Core components for Malga Checkout
34 lines (33 loc) • 1.3 kB
JavaScript
import axios from 'axios';
import { formatISODate, formatCurrency, parseAmountDecimalToInteger, } from '@malga-checkout/utils';
export class MalgaPaymentsDripContentService {
constructor({ amount, debug, sandbox, clientId }) {
this.clientId = clientId;
this.amount = amount / 100;
this.date = formatISODate(new Date());
this.dripURL =
sandbox || debug
? 'https://sbx-drip-be.usedrip.com.br/api/v1/instalments_simulator'
: 'https://drip-be.usedrip.com.br/api/v1/instalments_simulator';
}
async getContent() {
try {
const { data } = await axios.get(`${this.dripURL}?amount=${this.amount}&date=${this.date}`, {
headers: {
'X-Client-Id': this.clientId
}
});
const parsedCashback = parseAmountDecimalToInteger(data.instalments[data.instalments.length - 1].cashbackAmount);
const cashback = formatCurrency(parsedCashback);
const installments = data.instalments.map((instalment) => {
const parsedAmount = parseAmountDecimalToInteger(instalment.amount);
const amount = formatCurrency(parsedAmount);
return { dueDate: instalment.dueDate, amount };
});
return { cashback, installments };
}
catch (error) {
return { cashback: '', installments: [] };
}
}
}