Shopware 6

for Shopware
SEPA QR Codes

Professional GiroCode integration for Shopware 6. Automatic SEPA QR codes on invoices, in emails and customer area.

Benefits

Why GiroCode for Shopware?

Shopware 6 Native
Seamless integration into modern Shopware 6 architecture with Symfony and Vue.js.
Automatic Generation
QR codes are automatically generated and stored at order completion.
PDF Integration
GiroCodes automatically appear on invoice PDFs and delivery notes.
Multi-Shop Capable
Different bank accounts configurable per sales channel.
Integration

Quick Setup

Complete integration in just a few steps

1

Install Plugin

Download the plugin from Shopware Store or install manually.

2

Connect API

Enter your GiroCode API credentials in the plugin configuration.

3

Configure Bank Details

Enter IBAN and recipient name for each sales channel.

4

Customize Templates

Optional: Adjust position and size in email/PDF templates.

Code Examples

Shopware 6 Integration

Service class and Twig template for your plugin development

GiroCodeService.php
<?php declare(strict_types=1);

namespace YourVendor\GiroCodeIntegration\Service;

use Shopware\Core\Checkout\Order\OrderEntity;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;

class GiroCodeService
{
    private Client $client;
    private string $apiUser;
    private string $apiSecret;
    private string $iban;
    private string $recipient;

    public function __construct(
        string $apiUser,
        string $apiSecret,
        string $iban,
        string $recipient
    ) {
        $this->client = new Client([
            'base_uri' => 'https://api.girocode-api.de/',
            'timeout' => 30.0,
        ]);
        $this->apiUser = $apiUser;
        $this->apiSecret = $apiSecret;
        $this->iban = $iban;
        $this->recipient = $recipient;
    }

    public function generateForOrder(OrderEntity $order): ?string
    {
        try {
            $response = $this->client->post('generate', [
                'json' => [
                    'user' => $this->apiUser,
                    'secret' => $this->apiSecret,
                    'iban' => $this->iban,
                    'paymentrecipient' => $this->recipient,
                    'purpose' => 'Bestellung ' . $order->getOrderNumber(),
                    'amount' => (string) $order->getAmountTotal(),
                    'imageformat' => 'png',
                    'dimension' => '256',
                    'output' => 'json',
                ],
            ]);

            $data = json_decode(
                $response->getBody()->getContents(),
                true,
                512,
                JSON_THROW_ON_ERROR
            );

            if ($data['success'] && isset($data['data']['data'])) {
                return $data['data']['data']; // Base64 Data URL
            }
        } catch (GuzzleException | \JsonException $e) {
            // Log error
        }

        return null;
    }
}
invoice.html.twig
{# In Resources/views/documents/invoice.html.twig #}

{% if order.customFields.girocode_dataurl is defined %}
<div class="girocode-section" style="text-align: center; margin-top: 30px;">
    <h4>Schnell bezahlen mit GiroCode</h4>
    <p style="font-size: 12px; color: #666;">
        Scannen Sie den QR-Code mit Ihrer Banking-App
    </p>
    <img
        src="{{ order.customFields.girocode_dataurl }}"
        alt="GiroCode SEPA QR-Code"
        style="width: 150px; height: 150px;"
    />
</div>
{% endif %}
Features

All Features at a Glance

Shopware 6.4+ compatible
Sales channel specific configuration
Automatic order number as reference
PDF invoice integration
Email template support
Custom fields for orders
CLI commands for batch generation
GDPR compliant
Shopware Benefits

Perfect for Shopware Shops

Sales Channels
Different bank accounts per sales channel. Ideal for multi-brand shops or B2B/B2C separation.
Flow Builder
Integration with Shopware Flow Builder for automatic QR code generation on specific events.

Integrate Shopware Now

Start for free and integrate GiroCode into your Shopware shop.

Instant access after registration
No setup fees
Cancel anytime