UNPKG

emvco-qr-sdk

Version:

A robust TypeScript SDK for decoding, validating, and processing EMVCo-compliant QR codes used in digital payment systems.

42 lines (41 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.acquirerNetworkStrategy = void 0; const acquirer_network_util_1 = require("../../utils/acquirer/acquirer-network.util"); /** * Mapping strategy for tag 49 - Acquirer Network Identifier. * * Tag 49 contains: * - Subtag 00: GUI (Globally Unique Identifier, e.g., CO.COM.CRB.RED) * - Subtag 01: Short code (e.g., CRB) * * This strategy resolves and maps the subtags, and adds a human-readable network name. * * Example output: * ```ts * { * gui: "CO.COM.CRB.RED", * networkId: "CRB", * networkName: "Credibanco" * } * ``` * * @param tlv - TLV entity for tag 49 * @returns An object with `gui`, `networkId`, and resolved `networkName` */ const acquirerNetworkStrategy = (tlv) => { var _a; const subTags = (_a = tlv.subTags) !== null && _a !== void 0 ? _a : []; const result = {}; const guiTag = subTags.find((sub) => sub.tag === '00'); const networkIdTag = subTags.find((sub) => sub.tag === '01'); if (guiTag) { result['gui'] = guiTag.value; result['networkName'] = (0, acquirer_network_util_1.resolveAcquirerNetworkName)(guiTag.value); } if (networkIdTag) { result['networkId'] = networkIdTag.value; } return result; }; exports.acquirerNetworkStrategy = acquirerNetworkStrategy;