Teilnahmerechnungen erstellen
This commit is contained in:
@@ -156,14 +156,18 @@ abstract class AbstractEventPaymentModule implements EventPaymentModule
|
||||
/**
|
||||
* Template-Method: Der gemeinsame Rechnungs-Rumpf wird hier gebaut, der variierende Schlusssatz
|
||||
* kommt aus {@see invoiceClosingStatement()} des jeweiligen Moduls.
|
||||
*
|
||||
* `$request->amount` ist der noch offene Betrag. Ist nichts mehr offen, gilt unabhängig von der
|
||||
* Zahlungsart derselbe Satz -- eine Zahlungsaufforderung wäre dann schlicht falsch.
|
||||
*/
|
||||
public function createInvoice(CreateInvoiceRequest $request): CreateInvoiceResponse
|
||||
{
|
||||
$response = new CreateInvoiceResponse();
|
||||
// TODO: In einer Folge-Iteration den gemeinsamen Rumpf (Betrag, Leistung, Teilnehmerdaten) befüllen
|
||||
// und an die Invoice-Domain anbinden.
|
||||
$response->success = true;
|
||||
$response->closingStatement = $this->invoiceClosingStatement($request);
|
||||
|
||||
$response->closingStatement = $request->amount->getAmount() <= 0
|
||||
? 'Der Betrag ist bereits vollständig beglichen — vielen Dank.'
|
||||
: $this->invoiceClosingStatement($request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
@@ -171,6 +175,8 @@ abstract class AbstractEventPaymentModule implements EventPaymentModule
|
||||
/**
|
||||
* Der je Zahlungsart variierende Schlusssatz der Rechnung
|
||||
* ("Bitte überweise bis ..." / "wird abgebucht ..." / "wurde per PayPal beglichen").
|
||||
*
|
||||
* Wird nur bei tatsächlich offenem Betrag aufgerufen.
|
||||
*/
|
||||
abstract protected function invoiceClosingStatement(CreateInvoiceRequest $request): string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user