UNPKG

@vtex/payment-provider-sdk

Version:
33 lines (32 loc) 1.33 kB
"use strict"; 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;