pix-utils
Version:
Set of tools to parse, generate and validate payments of Brazil Instant Payment System (Pix)
47 lines • 5.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStaticPix = createStaticPix;
exports.createDynamicPix = createDynamicPix;
exports.createRecurrencePix = createRecurrencePix;
const assembler_1 = require("./assembler");
const pixElements_1 = require("./types/pixElements");
const generateErrorObject_1 = require("./utils/generateErrorObject");
const defaultPixFields = {
merchantCategoryCode: '0000',
transactionCurrency: '986',
countryCode: 'BR',
};
const defaultStaticFields = Object.assign(Object.assign({}, defaultPixFields), { isTransactionUnique: false, txid: '***' });
function createStaticPix(params) {
if (params.merchantName.length > 25)
return (0, generateErrorObject_1.generateErrorObject)('merchantName character limit exceeded (> 25)');
if (params.txid && params.txid.length > 25)
return (0, generateErrorObject_1.generateErrorObject)('txid character limit exceeded (> 25)');
if (params.merchantCity === '')
return (0, generateErrorObject_1.generateErrorObject)('merchantCity is required');
if (params.merchantCity.length > 15)
return (0, generateErrorObject_1.generateErrorObject)('merchantCity character limit exceeded (> 15)');
const elements = Object.assign(Object.assign({ type: pixElements_1.PixElementType.STATIC }, defaultStaticFields), params);
return (0, assembler_1.generatePixObject)(elements);
}
function createDynamicPix(params) {
if (params.merchantName.length > 25)
return (0, generateErrorObject_1.generateErrorObject)('merchantName character limit exceeded (> 25)');
if (params.merchantCity === '')
return (0, generateErrorObject_1.generateErrorObject)('merchantCity is required');
if (params.merchantCity.length > 15)
return (0, generateErrorObject_1.generateErrorObject)('merchantCity character limit exceeded (> 15)');
const elements = Object.assign(Object.assign({ type: pixElements_1.PixElementType.DYNAMIC }, defaultStaticFields), params);
return (0, assembler_1.generatePixObject)(elements);
}
function createRecurrencePix(params) {
if (params.merchantName.length > 25)
return (0, generateErrorObject_1.generateErrorObject)('merchantName character limit exceeded (> 25)');
if (params.merchantCity === '')
return (0, generateErrorObject_1.generateErrorObject)('merchantCity is required');
if (params.merchantCity.length > 15)
return (0, generateErrorObject_1.generateErrorObject)('merchantCity character limit exceeded (> 15)');
const elements = Object.assign(Object.assign(Object.assign({ type: pixElements_1.PixElementType.RECURRENCE }, defaultStaticFields), params), { url: undefined });
return (0, assembler_1.generatePixObject)(elements);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSwwQ0FzQkM7QUFFRCw0Q0FtQkM7QUFFRCxrREFvQkM7QUEvRkQsMkNBQWdEO0FBTWhELHFEQVE2QjtBQUU3QixxRUFBa0U7QUFFbEUsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixvQkFBb0IsRUFBRSxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLG1DQUNwQixnQkFBZ0IsS0FDbkIsbUJBQW1CLEVBQUUsS0FBSyxFQUMxQixJQUFJLEVBQUUsS0FBSyxHQUNaLENBQUM7QUFFRixTQUFnQixlQUFlLENBQzdCLE1BQTZCO0lBRTdCLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUNqQyxPQUFPLElBQUEseUNBQW1CLEVBQUMsOENBQThDLENBQUMsQ0FBQztJQUU3RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUN4QyxPQUFPLElBQUEseUNBQW1CLEVBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUVyRSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUEseUNBQW1CLEVBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUV6RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDakMsT0FBTyxJQUFBLHlDQUFtQixFQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFFN0UsTUFBTSxRQUFRLEdBQUcsOEJBQ2YsSUFBSSxFQUFFLDRCQUFjLENBQUMsTUFBTSxJQUN4QixtQkFBbUIsR0FDbkIsTUFBTSxDQUNjLENBQUM7SUFFMUIsT0FBTyxJQUFBLDZCQUFpQixFQUFDLFFBQVEsQ0FBb0IsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQzlCLE1BQThCO0lBRTlCLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUNqQyxPQUFPLElBQUEseUNBQW1CLEVBQUMsOENBQThDLENBQUMsQ0FBQztJQUU3RSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUEseUNBQW1CLEVBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUV6RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDakMsT0FBTyxJQUFBLHlDQUFtQixFQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFFN0UsTUFBTSxRQUFRLEdBQUcsOEJBQ2YsSUFBSSxFQUFFLDRCQUFjLENBQUMsT0FBTyxJQUN6QixtQkFBbUIsR0FDbkIsTUFBTSxDQUNlLENBQUM7SUFFM0IsT0FBTyxJQUFBLDZCQUFpQixFQUFDLFFBQVEsQ0FBcUIsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQ2pDLE1BQWlDO0lBRWpDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUNqQyxPQUFPLElBQUEseUNBQW1CLEVBQUMsOENBQThDLENBQUMsQ0FBQztJQUU3RSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUEseUNBQW1CLEVBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUV6RCxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDakMsT0FBTyxJQUFBLHlDQUFtQixFQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFFN0UsTUFBTSxRQUFRLEdBQUcsNENBQ2YsSUFBSSxFQUFFLDRCQUFjLENBQUMsVUFBVSxJQUM1QixtQkFBbUIsR0FDbkIsTUFBTSxLQUNULEdBQUcsRUFBRSxTQUFTLEdBQ2EsQ0FBQztJQUU5QixPQUFPLElBQUEsNkJBQWlCLEVBQUMsUUFBUSxDQUF3QixDQUFDO0FBQzVELENBQUMifQ==