medusa-plugin-paypal
Version:
Paypal payment provider for Medusa v2
58 lines • 4.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class HttpClient {
constructor(options, logger) {
if (!options.clientId) {
throw new Error("Required option `clientId` is missing in PayPal plugin");
}
if (!options.clientSecret) {
throw new Error("Required option `clientSecret` is missing in PayPal plugin");
}
if (options.sandbox == undefined) {
throw new Error("Required option `sandbox` is missing in PayPal plugin");
}
this._opiton = options;
this._logger = logger;
this._baseUrl = this._opiton.sandbox
? "https://api-m.sandbox.paypal.com"
: "https://api-m.paypal.com";
this.defaultHeaders = {
"Content-Type": "application/json",
};
}
async request(endpoint, { method = "GET", body = null, headers = {} } = {}) {
const url = this._baseUrl + endpoint;
const config = {
method,
headers: { ...this.defaultHeaders, ...headers }
};
if (typeof body === "string") {
config.body = body;
}
else if (body !== null && typeof body === "object") {
config.body = JSON.stringify(body);
}
try {
const response = await fetch(url, config);
const data = await response.json();
if (!response.ok) {
throw {
message: data?.message || response.statusText || "HTTP error",
status: response.status,
data,
};
}
return data;
}
catch (error) {
this._logger.error(error.message);
if (error instanceof TypeError) {
// 网络错误
throw { message: "Network error", error };
}
throw error;
}
}
}
exports.default = HttpClient;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3BheXBhbC91dGlscy9odHRwQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsTUFBTSxVQUFVO0lBTWQsWUFBWSxPQUFzQixFQUFFLE1BQWM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUNsQyxDQUFDLENBQUMsa0NBQWtDO1lBQ3BDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUNYLFFBQVEsRUFDUixFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLEdBQUcsRUFBRSxLQUFVLEVBQUU7UUFFdkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQVE7WUFDbEIsTUFBTTtZQUNOLE9BQU8sRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQyxHQUFHLE9BQU8sRUFBQztTQUM3QyxDQUFDO1FBRUYsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRW5DLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU07b0JBQ0osT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsSUFBSSxZQUFZO29CQUM3RCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3ZCLElBQUk7aUJBQ0wsQ0FBQztZQUNKLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLElBQUksS0FBSyxZQUFZLFNBQVMsRUFBRSxDQUFDO2dCQUMvQixPQUFPO2dCQUNQLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzVDLENBQUM7WUFFRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxVQUFVLENBQUMifQ==