22 lines
658 B
PHP
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;
|
|
}
|