DE ♦ EN (Theano GmbH)  » Web Service  » Documentation  » Documentation: qrcode

Forgot password?


New customer? Register

The qrcode Function

Note: this function is not yet included in the general production version of the SOAP interface. However, you can already use it
• via SOAP: by using the version or by using the function "transfer_form",
• via REST
• with the http Wrapper.

qrcode("Theano GmbH", "DE12500105170648489890", "COBADEHD001", 355.81, "Re. TI135225", "TI135225/355.81 EUR", "username", "password")

Purpose: Creates a QR code which, when scanned, automatically populates a SEPA transfer form.

The QR code in the top left corner of the invoice shown above was created with this function. If your banking app provides this feature, you can populate an entire transfer form at the touch of a button, just by scanning the QR code.

For instance, if you use Subsembly's banking app, you would
1. log into the banking app,
2. tap on the account from which you want to pay the bill,
3. open the menu (bottom left),
4. select "Scan QR Code",
5. point your smartphone at the QR code,
and a few seconds later, the transfer form in your app would automatically be populated.

This function delivers a PNG file containing a QR code (optionally with a human-readable text label at the bottom). You can use the result for displaying a QR code on a web page or for including it in a PDF invoice.

For displaying the QR code on a web page, there is no need to create a file on your server's hard drive; instead, you can take the base64-encoded string that comes from our application (e.g., "data:image/png;base64,iVBORw0KGgoAAAAN..."), and put it directly into HTML, like this: <img width=""300" src="data:image/png;base64,iVBORw...kSuQmCC"/>.

For including such PNG files in PDF invoices, we recommend this free open source software:

convert (imagemagick) for converting PNG to PDF,
pdfjam for scaling and positioning a QR code on a page, and
pdftk for combining a PDF invoice as generated by your bookkeeping software with a PDF file containing the scaled and positioned QR code.

Access: Same user id and password as for your user log in on

Input Parameters:

  • recipient: xsd:string
    The holder of the account onto which money should be transferred.
  • iban: xsd:string
    The IBAN of the recipient's account.
  • bic: xsd:string
    The BIC code of the recipient's account. If you leave the BIC code empty, the server will attempt to fill it automatically using the IBAN; if you specify a BIC code, the specified BIC code is used.
  • amount: xsd:string
    amount to be transferred (in EUR).
  • memo: xsd:string
    remittance information.
  • label: xsd:string
    this will be printed in human-readable form underneath the QR Code. If label is left empty, the bitmap will be square; otherwise, a bit of extra space is added at the bottom for printing the given text.
  • user: xsd:string
    The user name with which you log in to
  • password: xsd:string
    Your password.

Output Fields:

  • image: the QR code bitmap as base64-encoded string. It can be used inside the HTML "img" tag as is (e.g., <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAisAAAJ...">), or you can base64-decode the part after "data:image/png;base64," and write the result into a PNG file.
  • md5sum: the result of the Linux command "md5sum" when applied to the PNG file.
  • result: 'passed' if the IBAN is successfully validated and no other error has occured. Otherwise, this field contains an error message.
  • balance: Number of remaining calculations you can do before having to recharge your account. This does not apply to customers who pay their calculations retroactively.