UNPKG

paypal-custom-sdk

Version:

a minimalistic paypal sdk for custom integrations

58 lines (57 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const authorization_1 = tslib_1.__importDefault(require("./authorization")); const contexts_1 = require("../utils/contexts"); const constants_1 = require("../configs/constants"); const request_1 = tslib_1.__importDefault(require("../utils/request")); const withSingleton_1 = tslib_1.__importDefault(require("../utils/HOF/withSingleton")); const subscriptionServices = () => { const env = (0, contexts_1.getItem)('env'); const baseUrl = env === 'production' ? constants_1.BASE_URLS.PAYPAL : constants_1.BASE_URLS.SANDBOX; const request = (0, request_1.default)(baseUrl); const { getHeaders } = (0, authorization_1.default)(); const create = (body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const headers = yield getHeaders(); const { data } = yield request.post(constants_1.PATHS.CREATE_SUBSCRIPTION, body, { headers, }); return data; }); const cancel = (subscriptionId, reason) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const headers = yield getHeaders(); yield request.post(constants_1.PATHS.CANCEL_SUBSCRIPTION.replace('{subscription_id}', subscriptionId), { reason, }, { headers, }); }); const revise = (subscriptionId, body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const headers = yield getHeaders(); const { data } = yield request.post(constants_1.PATHS.REVISE_SUBSCRIPTION.replace('{subscription_id}', subscriptionId), body, { headers, }); return data; }); const capture = (subscriptionId, body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const headers = yield getHeaders(); yield request.post(constants_1.PATHS.CAPTURE_SUBSCRIPTION.replace('{subscription_id}', subscriptionId), body, { headers, }); }); const getById = (subscriptionId) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const headers = yield getHeaders(); const { data } = yield request.get(constants_1.PATHS.GET_SUBSCRIPTION.replace('{subscription_id}', subscriptionId), { headers, }); return data; }); return { create, cancel, revise, capture, getItem: getById, }; }; exports.default = (0, withSingleton_1.default)(subscriptionServices);