#6220 QR Code plugin

Parent Category:
Payment plugins
Last Updated:
Allon Moritz, Monday, 27 May 2024 08:33 (4 weeks ago.)
Monday, 06 August 2018 13:17

This feature is part of the DPCalendar Professional subscription.
SubscribePHP 7.4PHP 8Joomla 3.10Joomla 4.4Joomla 5


The QR code payment plugin can be used for any kind of offline payment when QR code invoices are issued. The booking itself has the state On hold, when not changed in the settings, as soon as the user has finished the booking process. This means the web site admin needs to QR manually activate the booking when the payment has arrived on the bank account.

The Qr code plugin actually support the Swiss QR code invoice system. Therefor the global DPCalendar configuration needs to be set as currency either "CHF" or "EUR" as only these two are supported.

Configure the plugin

The DPCalendar QR code plugin allows to add unlimited Swiss bank accounts to DPCalendar. When the plugin is opened in the back end, then you can click on the "+" button to add a new configuration. There you can fill the following fields:

  1. ID
    The ID of the configuration, must be a unique integer amongst the different configurations within the plugin.
  2. Title
    The title of the configuration. Appears in the drop down in the event form where you can select individual payment providers.
  3. Description
    The description which will be shown on the front end provider selection list when confirming the booking.
  4. Icon
    The icon which will be shown on the front end provider selection list when confirming the booking.
  5. Status
    The publishing status of the payment provider.
  6. Payment Date
    The date till when the payment must be done. Can be an absolute date like 2022-08-18 or relative like '-2 days'.
  7. Send invoice
    A flag to define if the invoice should be sent or not during the booking process.
  8. Booking status
    The status the booking should have when the booking process is finished.
  9. Type
    Actually only Swiss QR code invoices are supported.
  10. IBAN
    The new Swiss IBAN number for QR code invoices.
  11. BESR ID
    The new Swiss BESR ID for QR code invoices.
  12. Name
    The name of the creditor.
  13. Street
    The street of the creditor address.
  14. City
    The city of the creditor address.
  15. Country
    The country of the creditor address.
Manual payment provider configuration


The invoice is sent out as soon as the attendee has selected the QR code payment provider and clicks on the confirm button. The invoice is rendered from the file /plugins/dpcalendarpay/qr/tmpl/invoice.php, means the site admin can do a layout override, when some adaptions are needed.

A special parameter in the invoice is the "qrcode" parameter which contains the QR code HTML text from the payment provider configuration. The DPCalendar PDF options like header, logo or address are used in the invoice as well to be inline with the other system generated PDF files.

The subject of the mail is created from the language string "PLG_DPCALENDARPAY_QR_INVOICE_SUBJECT_TEXT" and the message from "PLG_DPCALENDARPAY_QR_INVOICE_MESSAGE_TEXT". The available variables are explained below.

Manual payment invoice


We are using the mustache templating system to inject and render variables in the language strings as described in the Output rendering article. Means you can use a variable like {{price}} in the string and it will be replaced with the real value. For every language string below are the following variables available:

  • id
    The id of the booking.
  • uid
    The uid of the booking.
  • price
    The price of the booking.
  • email
    The email address of the attendee.
  • country
    The country address of the attendee.
  • province
    The province address of the attendee.
  • city
    The city address of the attendee.
  • zip
    The zip address of the attendee.
  • street
    The street address of the attendee.
  • number
    The number address of the attendee.
  • telephone
    The telephone address of the attendee.
  • currency
    The currency of the price in the booking.
  • currencySymbol
    The currency symbol of the price in the booking.
  • bankInformation
    The bank information from the statement.
  • paymentDueDate
    The date when the payment must arrive.
  • invoiceDetails
    The text from the invoice.
  • bookingDetails
    The details of the booking.
  • field-[*]
    The booking custom fields objects. You can directly access every field with the prefix field- and then the name. For example when the field has the name XYZ, you can use the way {{#field-XYZ}}{{value}}{{/field-XYZ}} to render the value of it.

Comments (0)

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.