README
pix-charge
Library to generate BCB's Pix Payment BR Code πΈ
Install π¦
#NPM
npm i pix-charge
#YARN
yarn add pix-charge
Usage βοΈ
import { staticPix } from "pix-charge";
// Payer will set transfer value
let brCode = staticPix({
merchantKey: "gjmolter.1997@gmail.com",
merchantName: "Gabriel Molter",
});
// Transfer value is pre-defined.
let brCodeWithValue = staticPix({
merchantKey: "gjmolter.1997@gmail.com",
merchantName: "Gabriel Molter",
amount: 500,
});
// Transfer value is pre-defined and has charge description
let brCodeWithDescription = staticPix({
merchantKey: "gjmolter.1997@gmail.com",
merchantName: "Gabriel Molter",
amount: 1.99,
description: "Candy Bar", // Will show up as a label describing to the payer what they are being charged for
});
This last one will generate the following payment screen when read:
QRCode π€³
This lib was created with the goal of being as small and simple as possible, therefore, it only creates the BR Code.
If you need to transform it into a QR Code, there are many ways to do it. I recomend using the qrcode
lib. Here is an example:
First, install the qrcode
lib:
#NPM
npm i qrcode
#YARN
yarn add qrcode
Then import it into your application:
import QRCode from "qrcode";
On your HTML, create an Canvas element with an id
<canvas id="canvas"></canvas>
Then use .toCanvas
to create a QR Code from the BR Code
import { dinamicPix, staticPix } from "pix-charge";
let brCode = staticPix({
merchantKey: "gjmolter.1997@gmail.com",
merchantName: "Gabriel Molter",
});
QRCode.toCanvas(document.getElementById("canvas"), brCode, (error) => {
if (error) {
console.error(error);
} else {
console.log("success!");
}
});
Params ποΈ
staticPix()
staticPix({ object })
:
object key | type | required |
---|---|---|
merchantKey | string | β |
merchantName | string | β |
amount | number | β |
merchantCity | string | β |
merchantCep | string | β |
description | string | β |
identifier | string | β |
isUnique | boolean | β |
dinamicPix()
dinamicPix({ object })
:
object key | type | required |
---|---|---|
merchantName | string | β |
location | string | β |
amount | number | β |
merchantCity | string | β |
merchantCep | string | β |
identifier | string | β |
isUnique | boolean | β |
merchantKey
The merchantKey
can be any DICT key:
Email: gjmolter.1997@gmail.com (regular email string)
CPF: 12345678900 (11 characters, no separators)
CPF: 00038166000105 (14 characters, no separators)
Telephone: +5561912345678 (string starting with +, then country code, area code and actual phone number)
EVP: 123e4567-e12b-12d1-a456-426655440000 (string with lowercase characters with separators)
Wanna buy me a beer?
If this lib has helped you and you want to support further development, you can do a Pix transfer using this QR Code:
or copying-and-pasting this BR Code:
00020126450014br.gov.bcb.pix0123gjmolter.1997@gmail.com5204000053039865802BR5914GABRIEL MOLTER63044E95
More info from BCB
License
MIT Β© gjmolter