go-pix is a Go library for generating Pix Copy and Paste or QR codes. 💳 💰
go-pix is a Go library for generating Pix transactions using Copy and Paste or QR codes.
Pix is a system created by the Brazilian Central Bank to allow instant payments. The new payment method allows immediate money transfer, 24 hours a day, 7 days a week, including weekends and holidays.
The address key is a way to identify the user’s account. There are four types of address keys that users can use:
This key binds the basic information to the user’s complete account information, allowing users to send and receive money using only an address key.
import "github.com/fonini/go-pix/pix"
options := pix.Options{
Name: "Jonnas Fonini",
Key: "[email protected]",
City: "Marau",
Amount: 20.67, // optional
Description: "Invoice #4", // optional
TransactionID: "***", // optional
}
copyPaste, err := pix.Pix(options)
if err != nil {
panic(err)
}
fmt.Println(copyPaste) // will output: "00020126580014BR.GOV.BCB.PIX0122jonnasfonini@gmail.com0210Invoice #4520400005303986540520.675802BR5913Jonnas Fonini6005Marau62410503***50300017BR.GOV.BCB.BRCODE01051.0.06304CF13"
optionsFromCode, err := pix.ReadPix(copyPaste)
if err != nil {
panic(err)
}
fmt.Println(optionsFromCode)
You can use the Copy and Paste code generated above to generate a QR code
options := QRCodeOptions{Size: 256, Content: copyPaste}
qrCode, err := pix.QRCode(options)
if err != nil {
panic(err)
}
The qrCode
is a byte array, containing a graphical representation of the Copy and Paste code in the form of a QR code.
go test ./pix
This open-sourced software is licensed under the MIT license.