@vtex/payment-provider-sdk
Version:
VTEX Payment Provider SDK
33 lines (32 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PaymentProvider = void 0;
const ramda_1 = require("ramda");
const clients_1 = require("../clients");
const VTEX_PROVIDER_KEY = 'x-provider-api-appkey';
const VTEX_PROVIDER_TOKEN = 'x-provider-api-apptoken';
const VTEX_TEST_SUITE = 'x-vtex-api-is-testsuite';
const VTEX_API_APPKEY = 'x-vtex-api-appkey';
const VTEX_API_APPTOKEN = 'x-vtex-api-apptoken';
class PaymentProvider {
constructor(context) {
this.context = context;
this.apiKey = context.headers[VTEX_PROVIDER_KEY];
this.appToken = context.headers[VTEX_PROVIDER_TOKEN];
this.isTestSuite = context.headers[VTEX_TEST_SUITE];
const headers = ramda_1.pick([VTEX_API_APPKEY, VTEX_API_APPTOKEN], context.headers);
this.payments = new clients_1.Payments(context.vtex, { headers });
}
async callback(request, data) {
const callbackUrl = typeof request === 'string' ? request : request.callbackUrl;
return this.payments.callback(callbackUrl, data);
}
paymentMethods() {
const manifestResponse = this.manifest();
return {
paymentMethods: ramda_1.pluck('name', manifestResponse.paymentMethods),
};
}
}
exports.PaymentProvider = PaymentProvider;
exports.default = PaymentProvider;