Skip to content

Golang Pix implementatioin - copy and paste, qrcode gen

License

Notifications You must be signed in to change notification settings

thiagozs/go-pixgen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-PixGen

pix-utils

Generate and validate payments of Brazil Instant Payment System (Pix), making fast and simple to handle charges and proccess then in your project.

UNDER DEVELOPMENT - Becareful

Example implementation.

opts := []pix.Options{
		pix.OptPixKey("11955555555"),
		pix.OptDescription("Teste"),
		pix.OptMerchantName("Thiago Zilli Sarmento"),
		pix.OptMerchantCity("Ararangua"),
		pix.OptAmount("1.00"),
		pix.OptAditionalInfo("gerado por go-pixgen"),
		pix.OptKind(pix.STATIC),
	}

	p, err := pix.New(opts...)
	if err != nil {
		fmt.Println(err.Error())
                return
	}

	if err := p.Validates(); err != nil {
		fmt.Println(err.Error())
		return
	}

	cpy := p.GenPayload()

	fmt.Printf("Copy and Paste: %s\n", cpy)

	bts, err := p.GenQRCode()
	if err != nil {
		fmt.Println(err.Error())
		return
	}

	fmt.Printf("QRCode: %b\n", bts)

Roadmap

  • Generate payments based on parameters
    • Static
    • Dynamic
  • Parse and validate EMV Codes
  • Export generated/parsed payment to Image
  • Export generated/parsed payment to EMV Code
  • Fetch, parse and validate remote payloads from dynamic payments
    • Verify if has already expired
  • Improve tests
  • Doccumentation with all methods, parameters and some examples
  • Add dynamic payment tests

Contributing

Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request.

Versioning and license

Our version numbers follow the semantic versioning specification. You can see the available versions by checking the tags on this repository. For more details about our license model, please take a look at the LICENSE file.

2022, thiagozs