*/ public function defaultConfiguration(): array; /** * Admin-Options-Schema dieses Moduls (welche Konfigurationsfelder der/die Veranstalter\*in pflegt). * * @return array */ public function getOptions(): array; /** * Teilnehmer-Eingaben, die diese Zahlungsart beim Anmelden abfragt (payer-seitig; Standard: keine). * * @return array */ public function getParticipantOptions(): array; /** * Liefert den zahlungsspezifischen Teil der Anmelde-Zusammenfassung. * (In dieser Iteration nur als Stub vorhanden.) */ public function registrationSummary(RegistrationSummaryRequest $request): RegistrationSummaryResponse; /** * Stößt die Zahlung an (bzw. beschreibt, was zu tun ist -- z.B. Redirect, Lastschrift, manuelle Überweisung). * (In dieser Iteration nur als Stub vorhanden.) */ public function doPayment(DoPaymentRequest $request): DoPaymentResponse; /** * Erzeugt die Rechnung/Zahlungsaufforderung. Der gemeinsame Rumpf kommt aus der Basisklasse, * nur der Schlusssatz variiert je Modul. * (In dieser Iteration nur als Stub vorhanden.) */ public function createInvoice(CreateInvoiceRequest $request): CreateInvoiceResponse; /** * Auf welches Konto wäre zu erstatten -- und wissen wir es überhaupt? * * Gehört ins Kern-Interface und nicht in ein Fähigkeits-Interface, weil jede Zahlungsart eine * Antwort darauf hat; sie fällt nur unterschiedlich aus. Barzahlung: keine. Überweisung: das * Konto, von dem der Beitrag kam. SEPA-Lastschrift später: das Konto des Mandats. * * Standard ist „nicht bekannt" -- dann läuft die Erstattung wie gehabt über die Angaben des * Teilis bzw. der Aktionsleitung. */ public function getRefundData(GetRefundDataRequest $request): GetRefundDataResponse; }