Infosophie::GiroCode Generator

What?

This document is about the Infosophie::GiroCode Generator that can be found at this URL: https://infosophie.de/girocode

Infosophie::GiroCode is a private and free online EPC-QR-Code Generator. It creates a QR Code in GiroCode format (EPC-QR-Code) from your text input.

QR Code?

QR code

A QR code is a graphical representation of text content that can be digitalized using a scanner or camera. It serves to transfer information (like e.g. links) from printed documents to computers. QR Codes are squares filled with white and black dots representing the data in a binary format.

EPC QR Code (GiroCode)?

Text content of the QR code above

GiroCode (officially called EPC QR Code) is a standard for QR Codes containing all data for a SEPA credit transfer (SCT). It's used by banking apps to input the data for a bank transfer without typing it but just by scanning or photographing the QR code with a smartphone.

Generator?

The input form of Infosophie::GiroCode Generator

This GiroCode Generator is a website, that simply converts text data into a valid EPC QR Code. While you type the text into the input fields, the corresponding EPC QR code is generated to be copied on documents (like e.g. an invoice) or directly scanned for creating a bank transfer.

In addition there is a API (see there) to use this generator in a more automatical way.

APIs (application programming interface) are services that allow programs or web-applications to access other web-applications to interact with it or use its functions. The API defines, how this interaction works, i.e. what to send to that web-application to get the desired informations back (e.g. a valid GiroCode). If you are not a programmer, you probably won't use APIs at all, so don't worry about it!

Why?

While unquestionably there are already many other GiroCode generators on the web, mine is the most beautiful of all 😁. I created it because I wanted to put girocodes on my invoices to my clients, but the service I use for invoicing couldn't do this. So I programmed this generator in a way that it creates GiroCodes directly when called with a URL containing the relevant information. The URL is then printed on my invoices. As I didn't want my clients to be lead to third party pages and to pass their invoice information to them, I decided to create my own generator. And since I was already programming anyway, I also programmed a public interface for manual use!

The latter is what you see at https://infosophie.de/girocode. But also the API is public and can be used for free (at least as long as the usage won't exceed the traffic limit of my server...). See chapter API for more info.

How?

Usage

The usage of Infosophie::GiroCode Generator is quite simple: fill in the form. That's it. With each input you make, the QR code at the right bottom of the form will be updated automatically (active internet connection is needed).

Technically there are no mandatory fields to create the QR code, though there are some to get a valid GiroCode, i.e. a QR code that contains all the information needed for a bank transfer. These are the required fields:

If you fill in all the required fields, the qr code will be generated automatically, no need to hit any "save" or "create" button. If you don't trust the generator you may scan the code with any qr reader app available for your smartphone and check the content!

Prefill forms with GET parameters

tbd.

How it Works

The input form is a simple html form. Its graphic presentation intends to be reminiscent of a legacy bank transfer form just for fun. On any change, the content of the form is sent to Infosophie::GiroCode's webserver by javascript as an asynchronous http-request to receive the qr code as an image. Along with this, the IBAN is verified and the beneficiary's BIC and bank information is discoverd by sending the IBAN to openiban.com. This information (BIC and bank name and location) is not encoded in the QR code but just displayed for your information and cross-check.

More information about usage and functions of the API is available in chapter API!

[heading not defined for -restrictions-]

Warning: Undefined array key "restrictions" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 30

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 30
>
Warning: Undefined array key "restrictions" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 31

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 31
Warning: Undefined array key "restrictions" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 32

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 32
>

Currency: Infosophie::GiroCode Generator for now is restricted to usage with Euro (EUR). The currency is part of the amount field in a GiroCode and is added automatically. In future versions currency support might be added...

Who?

Me!

My name is Christian Grauer, I'm a self-employed programmer in Germany, since 1998 in business and focussed on web development, it consulting and training. Find more about me on my 'business' website cgrauer.de, my private blog schachtelhalm.net or even my facebook profile!

Responsability and Privacy

Infosophie::GiroCode Generator is absolutely private and not at all linked to any institution, especially not to any financial or governmental institution. I do not assume any guarantee or liability for its use! By using Infosophie::GiroCode Generator your public IP-Address and information about your user agent (webbrowser) is stored in the webserver logs for technical reasons. No other data will be stored or passed to third party, especially not the data processed to create the QR code! Infosophie::GiroCode Generator does not store or read any cookies in your webbrowser.

API

Infosophie::GiroCode Generator provides an application programming interface (API) for creating GiroCodes with your application. To the best of my knowledge the API is based on the REST specification! For mor basic information on APIs and REST please refer to relevant sources on the web.

Quick Overview

This chapter is a compact guide for anyone who has experience with REST APIs. For a more detailed explanation read the chapters below!

Syntax for the ressource URL: https://api.cgrauer.de/girocode/[{mode}/]
where {mode} is one of the following strings:

The content for the GiroCode is passed to the api or in the http body or as a query string with http GET. The following parameters are possible:

The values for the service tag, version, character set and identification are fixed and cannot be changed!

None of the parameters are mandatory, but if you omit them all you will get an empty qr code. Your business!

Prefill forms with GET parameters

It's also possible to send the mentioned GET paramters to the GUI, i.e. the Infosophie::GiroCode Generator that shows the form and the qr code as a website. Just add the parameters as query string to the URL and the respective fields will be prefilled!

Also on prefilled forms the values can still be changed manually.

https://www.infosophie.de/girocode/?name=Christian Grauer&iban=DE61500105175404920868&purpose=Donation&amount=123.45 will show the form and qr code pictured below (don't hesitate to use it for a donation the the developer of Infosophie::GiroCode Generator ;-))

GiroCode form prefilled with sample data

tbc...

[heading not defined for -api_max-]

Warning: Undefined array key "api_max" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 30

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 30
>
Warning: Undefined array key "api_max" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 31

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 31
Warning: Undefined array key "api_max" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 32

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 32
>

[heading not defined for -api_max_api-]

Warning: Undefined array key "api_max_api" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 30

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 30
>
Warning: Undefined array key "api_max_api" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 31

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 31
Warning: Undefined array key "api_max_api" in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 32

Warning: Trying to access array offset on value of type null in /usr/www/users/cgraue/infosophie/www/public/girocode/content/index.php on line 32
>

If you wonder what an API could be at all, probably you're not in need to use one!

FAQ

Why do I get the message "Invalid IBAN" even if the IBAN looks great?

The IBAN input field only accepts well formed IBANs (i.e. starting with the two letter country code, followed by the two digit checksum, followed by up to 30 letters or digits for the account identification). Though, an IBAN can be well formed but still invalid, e.g. if the checksum (first two digits) dosn't match the account identification. To check this, Infosophie::GiroCode Generator validates the IBAN at openiban.com. If the validation fails - i.e. the IBAN is invalid - you get the mentioned message and the IBAN is marked red in your form.

Why are some fields not editable?

What are the fields "Purpose" and "Information" for?

What are the fields "Service Tag", "Version", "Character Set" and "Identification" and why are they not editable?

The fields "Service Tag", "Version", "Character Set" and "Identification" contain technical information that cannot or does not have to be changed for a valid credit transter! Just ignore them, it's a kind of technical transparency idealism that they are displayed. For more information on the fields, refer to https://epc-qr.eu/.

I see the form, but no field can be edited?

You probably called the API instead of the Generator, using the customer mode. This mode shows the same form as the Generator but without the possibility to edit the fields. The field's content instead is passed within the URL or a POST request! Use the URL infosophie.de/girocode/ to get the Generator, or find more information about using the API in chapter API!

Some characters are deleted right after typing them, or even replaced with others. Why is this?

SEPA credit transfers are defined to use a fixed set of characters (see below). If Infosophie::GiroCode Generator detects invalid characters, it deletes them instantly. Though, some of them are replaced with valid characters or text of the same meaning. The following 'invalid' characters are replaced:

In the IBAN field, characters are automatically uppercased.

In the Amount field, only numbers and one comma or one period are allowed, but the comma automatically is replaced with a period.

Besides this, these are the allowed characters:
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
/-?:().,'+
[space]