UNPKG

@agoransson/klarna-payments

Version:

Typescript wrapper for Klarna Payments API.

61 lines 2.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateAuth = exports.URLS = exports.getRegion = exports.getRegionValue = exports.Region = void 0; const CommonErrors_1 = require("./CommonErrors"); var Region; (function (Region) { Region[Region["EU"] = 0] = "EU"; Region[Region["US"] = 1] = "US"; Region[Region["OCEANIA"] = 2] = "OCEANIA"; })(Region = exports.Region || (exports.Region = {})); const getRegionValue = (region) => { switch (region) { case Region.EU: return ""; case Region.US: return "-na"; case Region.OCEANIA: return "-oc"; default: throw new CommonErrors_1.RegionError(); } }; exports.getRegionValue = getRegionValue; const getRegion = (region) => { const trimmed = region.trim().toLowerCase(); if (trimmed == "") { return Region.EU; } else if (trimmed == "-na") { return Region.US; } else if (trimmed == "-oc") { return Region.OCEANIA; } else { throw new CommonErrors_1.RegionError(); } }; exports.getRegion = getRegion; exports.URLS = { API_URL: (config) => (config.isLive ? `https://api${(0, exports.getRegionValue)(config === null || config === void 0 ? void 0 : config.region)}.klarna.com` : `https://api${(0, exports.getRegionValue)(config === null || config === void 0 ? void 0 : config.region)}.playground.klarna.com`), ORDER_API_URL: (authorizationToken) => (`/payments/v1/authorizations/${authorizationToken}/order`), CANCEL_AUTHORIZATION_API_URL: (authorizationToken) => (`/payments/v1/authorizations/${authorizationToken}`), CREDIT_SESSION_API_URL: (sessionId) => (sessionId ? `/payments/v1/sessions/${sessionId}` : "/payments/v1/sessions"), CONSUMER_TOKEN_API_URL: (authorizationToken) => (`/payments/v1/authorizations/${authorizationToken}/customer-token`) }; /** * Generate an auth token. * * @param username The username * @param password The password * @returns The base64 encoded string, used in authorization tokens for API. */ function generateAuth(username, password) { return "Basic " + Buffer.from(`${username}:${password}`).toString("base64"); } exports.generateAuth = generateAuth; //# sourceMappingURL=utils.js.map