diff --git a/2020-06-25-ebanking-app.jpg b/2020-06-25-ebanking-app.jpg new file mode 100644 index 0000000..2b1beb1 Binary files /dev/null and b/2020-06-25-ebanking-app.jpg differ diff --git a/2020-06-25-format-html.jpg b/2020-06-25-format-html.jpg new file mode 100644 index 0000000..475120d Binary files /dev/null and b/2020-06-25-format-html.jpg differ diff --git a/2020-06-25-qr-mary-jane.png b/2020-06-25-qr-mary-jane.png new file mode 100644 index 0000000..4c6b2e5 Binary files /dev/null and b/2020-06-25-qr-mary-jane.png differ diff --git a/README.md b/README.md index 5a5d85b..bd3e873 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,35 @@ -# qrbill +# qrbill Go package + + + +The qrbill package implements generating QR-bill QR codes, which is a Swiss +🇨🇭 payment standard: + +* [launch +announcement](https://www.six-group.com/en/newsroom/media-releases/2020/20200609-qr-bill-launch.html) + +* [Specification: Swiss Implementation Guidelines + QR-bill](https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-en.pdf) +\ + (version 2.1 from 30 September 2019 at the time of writing) + +These QR codes fill in details of a bank wire transfer, either all fields or +just some of them. + +Recipients can scan the QR code with their mobile banking app, or with their +online banking web site’s mobile scan functionality, making it much easier to +send a wire transfer. + +An example use case is for an association or club: you can send out payment +instructions to your members to collect membership fees (“Einzahlungsschein”). + +## Validity + +The [SIX QR-bill validation +portal](https://validation.iso-payments.ch/gp/qrrechnung/home) successfully +confirms that e.g. the code at the top right is valid. + +## qrbill API (Example program) To install the program: @@ -6,8 +37,28 @@ To install the program: go install github.com/stapelberg/qrbill/cmd/... ``` -To run the program: +To run the program, run `qrbill-api` in the terminal. You will see an output like this: ``` -qrbill-api +% qrbill-api +2020/06/25 23:32:52 QR Bill generation URL: http://localhost:9933/qr?format=html ``` + +You can append the URL parameters on the left to customize the code. E.g.: + +http://localhost:9933/qr?format=html&udname=Mary+Jane&udaddr1=Artikel+19b + +When you open the URL in your web browser, you should see the following debug +output: + +![](2020-06-25-format-html.jpg) + +When you scan the resulting QR code with your eBanking app, you should see a +form like this: + + + +Once you are happy with the code parameters, change the `format` parameter from +`html` to `png`, e.g.: + +http://localhost:9933/qr?format=png&udname=Mary+Jane&udaddr1=Artikel+19b