Pix-Utils is a set of tools to parse, generate and validate payments of Brazil Instant Payment System (Pix), making fast and simple to handle charges and proccess then in your project.
yarn add pix-utils
import { createStaticPix, hasError } from 'pix-utils';
const pix = createStaticPix({
merchantName: 'Thales Ogliari',
merchantCity: 'Sao Paulo',
pixKey: 'nubank@thalesog.com',
infoAdicional: 'Gerado por Pix-Utils',
transactionAmount: 1,
});
if (!hasError(pix)) {
const brCode = pix.toBRCode();
// 00020126650014br.gov.bcb.pix0119nubank@thalesog.com0220Gerado por Pix-Utils52040000530398654041.005802BR5914Thales Ogliari6009Sao Paulo62070503***63046069
}
import { createDynamicPix, hasError } from 'pix-utils';
const pix = createDynamicPix({
merchantName: 'Thales Ogliari',
merchantCity: 'Sao Paulo',
url: 'https://pix.thalesogliari.com.br',
});
if (!hasError(pix)) {
const brCode = pix.toBRCode();
// 00020126540014br.gov.bcb.pix2532https://pix.thalesogliari.com.br5204000053039865802BR5914Thales Ogliari6009SAO PAULO62070503***63043FD3
}
By default, pix-utils wont throw an error when parsing an invalid pix, but you can enable it by using the throwIfError
function.
import { createDynamicPix } from 'pix-utils';
const pix = createDynamicPix({
merchantName: 'Thales Ogliari',
merchantCity: 'Sao Paulo',
url: 'https://pix.thalesogliari.com.br',
}).throwIfError();
const brCode = pix.toBRCode();
// 00020126540014br.gov.bcb.pix2532https://pix.thalesogliari.com.br5204000053039865802BR5914Thales Ogliari6009SAO PAULO62070503***63043FD3
const pix = parsePix(
'00020126650014br.gov.bcb.pix0119nubank@thalesog.com0220Gerado por Pix-Utils52040000530398654041.005802BR5914Thales Ogliari6015SAO MIGUEL DO O62070503***6304059A'
);
// {
// type: 'STATIC',
// merchantCategoryCode: '0000',
// transactionCurrency: '986',
// countryCode: 'BR',
// merchantName: 'Thales Ogliari',
// merchantCity: 'SAO MIGUEL DO O',
// pixKey: 'nubank@thalesog.com',
// transactionAmount: 1,
// infoAdicional: 'Gerado por Pix-Utils',
// txid: '***',
// toBRCode: [Function: toBRCode],
// toImage: [Function: toImage]
// }
const pix = parsePix(
'00020126650014br.gov.bcb.pix0119nubank@thalesog.com0220Gerado por Pix-Utils52040000530398654041.005802BR5914Thales Ogliari6015SAO MIGUEL DO O62070503***6304059A'
);
pix.toImage();
// data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOQAAADkCAYAAACIV4iNAAAAAklEQVR4AewaftIAAAwHSURBVO3BQW4sy7LgQDKh/W...
Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request.
This project is under MIT license.
Developed with 💚 by @thalesog 🇧🇷