@malga-checkout/core
Version:
Core components for Malga Checkout
26 lines (25 loc) • 738 B
JavaScript
import { Api } from '../api';
import settings from '../../stores/settings';
import { formatPayData } from './payments.utils';
export class Payments {
constructor({ provider }) {
this.api = new Api();
this.provider = provider;
}
async pay({ headers, payload }) {
const errorStatus = ['failed', 'charged_back', 'canceled', 'voided'];
const isSession = !!settings.sessionId;
const endpoint = isSession
? `/sessions/${settings.sessionId}/charge`
: '/charges';
const response = await this.api.create({
endpoint,
data: formatPayData(payload, isSession),
headers,
});
return {
hasError: errorStatus.includes(response.data.status),
data: response.data,
};
}
}