paypal-custom-sdk
Version:
a minimalistic paypal sdk for custom integrations
58 lines (57 loc) • 2.54 kB
JavaScript
;
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);