Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
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
  • Socket score

Version published
Weekly downloads
3
decreased by-57.14%
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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc