@vtex/payment-provider
Version:
VTEX Payment Provider SDK
45 lines (44 loc) • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PaymentProvider = void 0;
const ramda_1 = require("ramda");
const _1 = require(".");
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) {
var _a, _b, _c, _d;
this.context = context;
this.apiKey =
((_b = (_a = context.headers[VTEX_PROVIDER_KEY]) !== null && _a !== void 0 ? _a : context.headers[VTEX_API_APPKEY]) !== null && _b !== void 0 ? _b : '');
this.appToken =
((_d = (_c = context.headers[VTEX_PROVIDER_TOKEN]) !== null && _c !== void 0 ? _c : context.headers[VTEX_API_APPTOKEN]) !== null && _d !== void 0 ? _d : '');
this.isTestSuite = context.headers[VTEX_TEST_SUITE] === 'true';
const headers = (0, ramda_1.pick)([VTEX_API_APPKEY, VTEX_API_APPTOKEN], context.headers);
this.payments = new clients_1.Payments(context.vtex, { headers });
}
async retry(request) {
const callbackUrl = (0, _1.getCallbackUrl)(request);
return this.payments.retry(callbackUrl);
}
async callback(request, data) {
const callbackUrl = (0, _1.getCallbackUrl)(request);
return this.payments.callback(callbackUrl, data);
}
async getTokens(request) {
var _a;
const secureProxyTokensUrl = (_a = request.secureProxyTokensUrl) !== null && _a !== void 0 ? _a : '';
return this.payments.getTokens(secureProxyTokensUrl);
}
async createToken(request, payload) {
var _a;
const secureProxyTokensUrl = (_a = request.secureProxyTokensUrl) !== null && _a !== void 0 ? _a : '';
return this.payments.createToken(secureProxyTokensUrl, payload);
}
}
exports.PaymentProvider = PaymentProvider;
exports.default = PaymentProvider;