UNPKG

@gmisoftware/przelewy24-payments-medusa

Version:

Przelewy24 (P24) payment integration plugin for Medusa e-commerce with BLIK, cards, and general P24 support.

62 lines 4.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.P24_WEBHOOK_ALLOWED_CIDRS = exports.P24_WEBHOOK_ALLOWED_IPS = void 0; exports.isAllowedP24WebhookSourceIp = isAllowedP24WebhookSourceIp; exports.P24_WEBHOOK_ALLOWED_IPS = [ "5.252.202.254", "5.252.202.255", "20.215.81.124", ]; exports.P24_WEBHOOK_ALLOWED_CIDRS = [ "193.178.213.0/24", "91.220.177.0/24", "20.215.183.48/28", "134.112.88.8/29", ]; function ipv4ToNumber(ip) { const parts = ip.split("."); if (parts.length !== 4) { return null; } let value = 0; for (const part of parts) { if (!/^\d{1,3}$/.test(part)) { return null; } const octet = Number(part); if (!Number.isInteger(octet) || octet < 0 || octet > 255) { return null; } value = (value << 8) + octet; } return value >>> 0; } function isIpv4InCidr(ip, cidr) { const [network, prefixStr] = cidr.split("/"); const prefix = Number(prefixStr); if (!network || !Number.isInteger(prefix) || prefix < 0 || prefix > 32) { return false; } const ipNum = ipv4ToNumber(ip); const networkNum = ipv4ToNumber(network); if (ipNum === null || networkNum === null) { return false; } const mask = prefix === 0 ? 0 : (0xffffffff << (32 - prefix)) >>> 0; return (ipNum & mask) === (networkNum & mask); } function isAllowedP24WebhookSourceIp(ipAddress, options = {}) { const normalized = ipAddress?.trim(); if (!normalized) { return false; } if (options.sandbox && (normalized === "127.0.0.1" || normalized === "::1")) { return true; } if (exports.P24_WEBHOOK_ALLOWED_IPS.includes(normalized)) { return true; } return exports.P24_WEBHOOK_ALLOWED_CIDRS.some((cidr) => isIpv4InCidr(normalized, cidr)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDI0LXdlYmhvb2staXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3AyNC13ZWJob29rLWlwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxREEsa0VBMkJDO0FBaEZZLFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsZUFBZTtJQUNmLGVBQWU7SUFDZixlQUFlO0NBQ1AsQ0FBQztBQUVFLFFBQUEseUJBQXlCLEdBQUc7SUFDdkMsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsaUJBQWlCO0NBQ1QsQ0FBQztBQUVYLFNBQVMsWUFBWSxDQUFDLEVBQVU7SUFDOUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN6RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxLQUFLLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEVBQVUsRUFBRSxJQUFZO0lBQzVDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdkUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEUsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsU0FBZ0IsMkJBQTJCLENBQ3pDLFNBQTZCLEVBQzdCLFVBQWlDLEVBQUU7SUFFbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUNFLE9BQU8sQ0FBQyxPQUFPO1FBQ2YsQ0FBQyxVQUFVLEtBQUssV0FBVyxJQUFJLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFDcEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ0UsK0JBQXVCLENBQUMsUUFBUSxDQUM5QixVQUFzRCxDQUN2RCxFQUNELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLGlDQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQzdDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQy9CLENBQUM7QUFDSixDQUFDIn0=