/qrpay

Primary LanguageGoMIT LicenseMIT

QR code for payment

Payment QR code for Go

Build Status codecov Go Report Card Maintainability CodeScene Code Health

Golang library for creating QR codes for payments.

Short Payment Descriptor format and EPC QR Code (SEPA) format is supported.

Installation

go get -u github.com/tuhochi/qrpay

Usage

Generating QR code image for Short Payment Descriptor format

import "github.com/tuhochi/qrpay"

p := qrpay.NewSpaydPayment()
p.SetIBAN("CZ5855000000001265098001")
p.SetAmount("10.8")
p.SetDate(time.Date(2021, 12, 24, 0, 0, 0, 0, time.UTC))
p.SetMessage("M")
p.SetRecipientName("go")
p.SetNofificationType('E')
p.SetNotificationValue("daniel@milde.cz")
p.SetExtendedAttribute("vs", "1234567890")

qrpay.SaveQRCodeImageToFile(p, "qr-payment.png")

Generating QR code image for EPC QR Code

import "github.com/tuhochi/qrpay"

p := qrpay.NewEpcPayment()
p.SetIBAN("CZ5855000000001265098001")
p.SetAmount("10.8")
p.SetMessage("M")
p.SetRecipientName("go")

qrpay.SaveQRCodeImageToFile(p, "qr-payment.png")

QR code image encoding uses skip2/go-qrcode.

Getting QR code content for Short Payment Descriptor format

import "github.com/tuhochi/qrpay"

p := qrpay.NewSpaydPayment()
p.SetIBAN("CZ5855000000001265098001")
p.SetAmount("108")

fmt.Println(qrpay.GenerateString())
// Output: SPD*1.0*ACC:CZ5855000000001265098001*AM:108*