πŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more β†’
Socket
DemoInstallSign in
Socket

pix-charge

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pix-charge

Library to generate BCB's Pix Payment BR Code

1.1.0
latest
Source
npm
Version published
Weekly downloads
9
125%
Maintainers
1
Weekly downloads
Β 
Created
Source

pix-charge

bundle size

pixLogo

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:

PixNubank

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 keytyperequired
merchantKeystringβœ…
merchantNamestringβœ…
amountnumber❌
merchantCitystring❌
merchantCepstring❌
descriptionstring❌
identifierstring❌
isUniqueboolean❌

dinamicPix()

dinamicPix({ object }):

object keytyperequired
merchantNamestringβœ…
locationstringβœ…
amountnumberβœ…
merchantCitystring❌
merchantCepstring❌
identifierstring❌
isUniqueboolean❌

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:

Donation QRCode

or copying-and-pasting this BR Code:

00020126450014br.gov.bcb.pix0123gjmolter.1997@gmail.com5204000053039865802BR5914GABRIEL MOLTER63044E95

More info from BCB

BCB - IniciaΓ§Γ£o do Pix

License

MIT Β© gjmolter

Keywords

pix

FAQs

Package last updated on 31 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts