EPC, GiroCode, SPC, SPD, UPNQR, and more: with broad QR-code support, Gini is positioning itself as a leading provider of payment initiation in banking apps.

QR code-based payments have long been standard in mobile banking. Whether for invoices, point-of-sale payments, or P2P payments, QR codes speed up payment processes, reduce input errors, and increase the completion rate in the payment flow.

But not all QR codes are the same. National standards, different payload structures, and varying validation rules make technical implementation more complex than it appears at first glance.

With the latest extension of Gini Pay Photo Payment, banking apps now support EPC-QR, GiroCode/BezahlCode, Gini QR code, and STUZZA (AT) as well as:

  • Swiss Payment Code (SPC, Switzerland)
  • SPD codes (Czechia/Slovakia)
  • UPNQR (Slovenia)

This makes photo payment one of the most comprehensive QR payment initiation solutions in the European banking environment.

QR code payment in banking: between standardization and fragmentation

In the SEPA area, one Europe-wide EPC standard is particularly relevant: EPC069-12 (EPC QR code, v3.10). It is typically used on invoices and PDFs, has a line-based payload, and offers mapping to classic SEPA credit transfers (SCT). In Germany, this is the basis for BezahlCode and GiroCode, among others, which are EPC-compatible.

In addition, the EPC024-22 standard (MSCT QR Codes, v2.10) is currently under development. This standard is optimized for Mobile Initiated SCT, for example, in the POS environment, and contains structured, expandable payloads including signaling for real-time transfers (SCTInst).

In practice, however, QR code payments do not stop at national borders. In the European context in particular, banking apps encounter a wide variety of standards – with their own field logics, encodings, and validation requirements.

New in Gini Photo Payment: Support for SPC, SPD, and UPNQR

With the latest expansion, Gini Photo Payment now processes additional relevant QR-based payment standards:

Swiss Payment Code (SPC) – Switzerland

The SPC is an integral part of the Swiss QR Bill (version 2.3). It is based on a fixed payload structure and requires CH-specific validation steps. Depending on the scheme, instant processing is possible but not mandatory.

For banks, this means that Swiss QR invoices can be scanned directly in the app, checked, and converted into a valid SEPA payment – without any manual intermediate steps.

SPD codes – Czechia/Slovakia

SPD codes use URL parameters and are particularly common in P2P and invoicing environments. Instant capability depends on the bank. Here, Gini handles structured parameter mapping and clean conversion to the SEPA payment process.

UPNQR – Slovenia

UPNQR is a line-based, fixed-format for invoices and public services. The code is machine-readable, but without explicit instant signaling. Photo transfer automatically decodes and maps the UPN fields to the relevant payment parameters.

More than QR scanning: technical intelligence in the background

The real added value lies not in simply reading the QR image; rather, the decisive factor is the standard-compliant interpretation of different data structures. Gini Pay photo payment takes care of:

  • Decoding different QR and payload formats
  • Standard-dependent parsing (line-based, structured, URL parameters)
  • Country-specific validation logic
  • Mapping to SCT or SCT Inst
  • Instrument selection for instant-enabled codes

This eliminates the need for banks to develop and maintain their own parsers for each country or standard – a strategic advantage for pan-European support and group-wide initiatives.

Strategic added value for banks

The extended QR code support has an impact on several levels:

Short term – Less manual input, lower error rate, less support effort

Medium term – Increased use of the banking app as a central payment touchpoint

Long-term – Positioning as a modern, Europe-wide connectable bank with a consistent user experience

Every functional gap counts, especially when competing for the primary customer relationship. A banking app that does not support QR codes seems incomplete, while one that is compatible across Europe builds trust.

Photo payment as a European payment gateway

What began as OCR-based invoice data recognition is increasingly developing into a universal payment initiation layer within the banking app. By supporting

  • EPC069-12
  • GiroCode / BezahlCode
  • Gini QR code
  • STUZZA (AT)
  • SPC (CH)
  • SPD (CZ/SK)
  • UPNQR (SI)

Gini Photo Payment offers broad coverage of European QR standards in a uniform architecture. For banks, this means future-proofing without additional integration effort as international use grows.

Conclusion: Think European when it comes to QR-code payments

QR-code payments in banking apps are now an infrastructural reality, but the fragmentation of standards remains a technical challenge.

With its expanded support for European QR payment codes, Gini closes functional gaps and makes photo payments a scalable, pan-European payment initiation solution.

When evaluating how comprehensively a banking app covers QR-based payments today, it is worth taking a closer look at the technological breadth – and at solutions that already abstract this complexity.

Tom Orzikowski

Tom leitet das Brand- und Marketing-Team bei Gini. Sein Fokus liegt darauf, technologische Innovation mit einer menschlichen Marke zu verbinden. Wenn er nicht gerade die nächste Kampagne plant, teilt er hier Insights über Banken- & Versicherungs-Trends, Branding und die Zukunft des digitalen Zahlungsverkehrs.

At Gini, we want our posts, articles, guides, white papers and press releases to reach everyone. Therefore, we emphasize that both female, male, and other gender identities are explicitly addressed in them. All references to persons refer to all genders, even when the generic masculine is used in content.