paypal-custom-sdk
Version:
a minimalistic paypal sdk for custom integrations
48 lines (47 loc) • 2.03 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 orderServices = () => {
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_ORDER, body, {
headers,
});
return data;
});
const authorize = (orderId) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const headers = yield getHeaders();
return yield request.post(constants_1.PATHS.AUTHORIZE_ORDER.replace('{order_id}', orderId), {}, {
headers,
});
});
const capture = (orderId) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const headers = yield getHeaders();
yield request.post(constants_1.PATHS.CAPTURE_ORDER.replace('{order_id}', orderId), {}, {
headers,
});
});
const getOrder = (orderId) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const headers = yield getHeaders();
const { data } = yield request.get(constants_1.PATHS.GET_ORDER.replace('{order_id}', orderId), {
headers,
});
return data;
});
return {
create,
authorize,
capture,
getOrder,
};
};
exports.default = (0, withSingleton_1.default)(orderServices);