Girocode - create EPC QR codes for SEPA bank transfers
Pure Ruby library to generate EPC QR codes in SVG, PNG, HTML or ASCII format
Installation
Add this line to your application's Gemfile:
gem 'girocode'
Usage
code = Girocode.new(iban: 'DE02100500000054540402',
name: 'Beispiel AG',
currency: 'EUR', amount: 123.45,
reference: 'RE 2019/05/445 744507')
code.to_svg
code.to_png
code.to_html
code.to_ascii
# in your console
puts code.to_ansi
Supported attributes
Codes can be generated with the following attributes:
Attribute | Description | required | exclusive | max size |
---|---|---|---|---|
bic |
Bank Identifier Code | 11 | ||
name |
Name of beneficiary | ✓ | 70 | |
iban |
IBAN | ✓ | 34 | |
currency |
ISO-4217 currency code | if amount given |
3 | |
amount |
Money amount | 12 | ||
purpose |
SEPA purpose code | 4 | ||
creditor_reference |
ISO-11649 creditor reference | ✓ | 35 | |
reference |
Unstructured reference ("remittance") | ✓ | 140 | |
bto_info |
Beneficiary to originator info | 70 |
QR code generation options
All to_<format>
methods forward options to RQRCode
. You can therefore supply all supported options to the respective generator, e.g.
code.to_svg(fill: :white, color: :blue, module_size: 20)
Check the RQRCode docs for all available options.
Limitations
Codes are generated as EPC-QR Version 2 in UTF-8 format only.
Specification
European Payments Council: Quick Response Code, v3.1
Guidelines to enable data capture for the initiation of a SEPA credit transfer