# 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: ``` go install github.com/stapelberg/qrbill/cmd/... ``` To run the program, run `qrbill-api` in the terminal. You will see an output like this: ``` % 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: ![](img/2020-09-21-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 ## Crowd-sourced compatibility testing ### qrbill v0.1.3 (2020-Sep-10) QR codes if you want to test: * donation ([debug link](http://localhost:9933/qr?format=html&udname=&udaddr1=&udaddr2=&udpost=&udcity=&udcountry=&udaddrtype=)) * invoice ([debug link](http://localhost:9933/qr?format=html&udname=Mary+Jane&udaddr1=Artikel+19b&amount=23.42)) * invoice without amount ([debug link](http://localhost:9933/qr?format=html&udname=Mary+Jane&udaddr1=Artikel+19b)) | QR code | scanned with | paid via | Notes | |----------|---------------------|----------|-------| | donation | ZKB eBanking (iOS) | ZKB |