• Stars
    star
    83
  • Rank 392,854 (Top 8 %)
  • Language
    Go
  • License
    MIT License
  • Created over 3 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

QR code generator (ASCII & PNG) for SEPA payments

QR code generator (ASCII & PNG) for SEPA payments

PkgGoDev Go Report Card Go Coverage

What is this?

This tool makes it easier for people (in Europe) to pay with bank transfers. It does not serve as a payment gateway or anything similar. It does no payment verification at all, it simply provides the necessary payment information in a QR code, which may be scanned by the person who wants to pay.

The QR code contains the information necessary for a bank transaction in the form of a SEPA credit transfer. It can be used to prefill the transaction form if your banking app supports payment by QR code.

The process of generating the QR code is entirely local and offline. It can be printed in ASCII in the terminal, or exported as a PNG for inclusion in eg. a web page or a mail.

One QR code can be used without limit, but will always contain the same payment information: amount, remittance message, destination account. More than one person can scan the same code to pay the same amount (eg. split a bill with friends), or one person can scan the code on a recurring base (eg. you pay your internet invoice every month and it's a fixed price)

Install

$ go install github.com/jovandeginste/payme@latest

Usage:

Generate SEPA payment QR code

Usage:
  payme [flags]

Flags:
      --amount float        Amount of the transaction
      --bic string          BIC of the beneficiary
      --character-set int   QR code character set (default 2)
      --debug               print debug output
      --file string         write code to file, leave empty for stdout
  -h, --help                help for payme
      --iban string         IBAN of the beneficiary
      --name string         Name of the beneficiary
      --output string       output type: png or stdout (default "stdout")
      --purpose string      Purpose of the transaction
      --remittance string   Remittance (message)
      --structured          Make the remittance (message) structured
      --qr-version int         QR code version (default 2)

You can set some default values in your ENV, eg.:

export PAYME_IBAN=DE71110220330123456789
export PAYME_NAME="Franz Mustermänn"
export PAYME_BIC=BHBLDEHHXXX

Generate QR code as text, print on the console:

$ payme \
  --name "Franz Mustermänn" \
  --iban "DE71110220330123456789" \
  --amount 12.3 \
  --remittance "RF18539007547034"

Generate QR code as png, save as file:

$ payme \
  --name "Franz Mustermänn" \
  --iban "DE71110220330123456789" \
  --amount 12.3 \
  --remittance "RF18539007547034" \
  --output png \
  --file QR.png

Support

Please provide feedback if your banking app supports or does not support these QR codes.

The QR code is tested with the mobile apps of these banks:

Belgium

Bank Support
Belfius Yes
Fortis Problems with characters in the remittance
KBC Yes

References

More Repositories

1

workout-tracker

A workout tracking web application for personal use (or family, friends), geared towards running and other GPX-based activities
Go
898
star
2

nomad-compose

Use docker-compose yml files as input for Hashicorp's nomad
Ruby
46
star
3

jenkins-jobs-mattermost

Mattermost publisher for jenkins job builder
Python
7
star
4

hiera-router

This hiera backend replaces the default yaml backend, but will resend queries to other hiera backends based on the value returned by the yaml files.
Ruby
6
star
5

medisana-bs

Fetch your body metrics from your BS4xx scale
Go
4
star
6

puppet-scoop

Manage your scoops with Puppet
Ruby
2
star
7

gologger

Simple replacement for GNU logger
Go
2
star
8

mediawiki_to_gollum

Scripts to convert a mediawiki xml export to a git repository usable with Gollum
Ruby
2
star
9

fintrk

Go
1
star
10

recycleapp-ics

Haal info op van recycleapp.be, en zet om naar ICS
Go
1
star
11

paperless_tika

Paperless parser that connects to Tika/Gotenberg
Python
1
star
12

microbit-blad-steen-schaar

Blad, steen, schaar tussen 2 micro:bit's
JavaScript
1
star
13

alfabet

Een MakeCode project
JavaScript
1
star
14

jovandeginste.github.io

Blog
HTML
1
star
15

puppet-dconf

Configure dconf
Ruby
1
star
16

onewire-wireless-network

Building my wireless OneWire network
Arduino
1
star
17

git-mattermost-hook

Shell
1
star
18

onewire-wireless-network-processing

processing part for the OneWire Wireless Network
Go
1
star
19

gr

Manage software distributed via git releases (WIP)
Go
1
star
20

hiera-mock

Hiera backend to return data from a single yaml file or random data (meant for testing purposes)
Ruby
1
star