Files

22 lines
658 B
PHP

<?php
namespace App\EventPaymentModules;
use App\Models\EventParticipant;
/**
* Fähigkeits-Interface (Interface Segregation): Nur Zahlungsarten mit einem GiroCode (SEPA-QR)
* implementieren dies -- aktuell ausschließlich die Überweisung. Das Core-Interface
* {@see EventPaymentModule} bleibt davon unberührt.
*/
interface ProvidesGiroCode
{
/**
* Erzeugt den GiroCode (SEPA-QR) als PNG-Binary -- oder null, wenn (z.B. mangels offenem Betrag)
* kein GiroCode angeboten wird.
*
* @param array<string, mixed> $configuration
*/
public function giroCode(EventParticipant $participant, array $configuration): ?string;
}