EPC QR Code
The EPC QR Code, also known as GiroCode, can be used to initiate money transfers within SEPA. The QR code has been standardized by the European Payments Council (EPC) and is currently used in Austria, Finland, Germany, the Netherlands and Belgium.
An example EPC QR Code (with and without frame) with which 10€ will be donated to the Austrian Red Cross:
Endpoints
The API can be called via GET
or POST
. Both endpoints return an image in the format image/png
.
GET/v1/epc-qr-code
curl -X GET https://api.apistax.io/v1/epc-qr-code?iban=AT000000000000000000&recipient=Company \
-o 'qr-code.png' \
-H 'Authorization: Bearer API_KEY_HERE'
The API key can also be passed as a query parameter. More about this in the "Authentication" section of the general documentation.
POST/v1/epc-qr-code
curl -X POST https://api.apistax.io/v1/epc-qr-code \
-o 'qr-code.png' \
-H 'Authorization: Bearer API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{ "iban": "AT00 0000 0000 0000 0000", "recipient": "Company"}'
Parameters
The following parameters can be used either as query parameters in a GET
request or as JSON fields in a POST
request.
iban: String
The international bank account number of the
recipient. Any spaces between the blocks are removed. For example, AT00 0000 0000 0000 0000
becomes AT000000000000000000
recipient: String
The recipients name. The name can be maximum 70 characters long.
bic: String
The bank identifier code of the recipient's bank. Often known as SWIFT code.
amount: Float
The amount to be paid with a maximum of two decimal places. The value is optional, but recommended. If the amount is not specified, the payer must enter it in the banking app itself.
currency: String = EUR
The currency according to ISO 4217 (USD, EUR etc.).
reference: String
The payment reference which can be maximum 35 characters long.
text: String
The bank transfer text. The text can be up to 140 characters long and may not be used in the banking app if
the reference
parameter is set.
message: String
A user hint which can be maximum 70 characters long.
size: Integer = 300
The size of the QR code in pixels. The value must be between 100 and 2000 pixels.
frame: Boolean = false
true
to draw a frame around the QR code.
If all parameters are used, a possible request body may look like the following:
{
"iban": "AT57 2011 1400 1440 0144",
"recipient": "Austrian Red Cross",
"bic": "GIBAATWWXXX",
"amount": 10.00,
"currency": "EUR",
"reference": "Donation",
"text": "Emergency relief",
"message": "Thank you for your donation",
"size": 250,
"frame": true
}
Possible errors
Identifier | Description |
---|---|
message.ibanMustNotBeBlank |
Parameter iban is required. |
message.recipientMustNotBeBlank |
Parameter recipient is required. |
message.ibanMustBeValid |
Parameter iban must be provided in a valid format. |
message.bicMustBeValid |
Parameter bic must be provided in a valid format. |
message.currencyMustBeValid |
Parameter currency must be valid and provided as an ISO 4217 currency code. |
message.recipientMustNotBeLongerThan70Characters |
Parameter recipient must be maximum 70 characters long. |
message.referenceMustNotBeLongerThan35Characters |
Parameter reference must be maximum 75 characters long. |
message.textMustNotBeLongerThan140Characters |
Parameter text must be maximum 140 characters long. |
message.messageMustNotBeLongerThan70Characters |
Parameter message must be maximum 70 characters long. |
message.sizeMustNotBeSmallerThan100Pixels |
Parameter size must be between 100 and 2000 pixels. |
message.sizeMustMotBeBiggerThan2000Pixels |
Parameter size must be between 100 and 2000 pixels. |
message.failedToGenerateQrCode |
An unexpected error occurred when generating the QR code. Please retry the request at a later time. |
It should be noted that there are a number of common error messages, which can be found in the "Possible errors" section of the general documentation.