Automatischer Zahlungsparser
This commit is contained in:
@@ -3,16 +3,20 @@
|
||||
namespace App\Domains\ParticipantRefund\Controllers;
|
||||
|
||||
use App\Domains\ParticipantRefund\Actions\AcceptRefund\AcceptRefundCommand;
|
||||
use App\Enumerations\RefundAccountSource;
|
||||
use App\Models\ParticipantRefund;
|
||||
use App\Providers\InertiaProvider;
|
||||
use App\Scopes\CommonController;
|
||||
use App\Support\Iban;
|
||||
use Inertia\Response;
|
||||
|
||||
/**
|
||||
* Die öffentliche Seite, auf der der Teili seine Bankverbindung hinterlegt.
|
||||
*
|
||||
* Liefert ausschließlich Anzeigedaten -- niemals die bereits erfasste Bankverbindung: der Token wandert
|
||||
* Liefert ausschließlich Anzeigedaten -- niemals die vollständige Bankverbindung: der Token wandert
|
||||
* durch ein Postfach, und was einmal eingetragen ist, muss von dort nicht wieder herauslesbar sein.
|
||||
* Ist das Konto aus dem Zahlungseingang bekannt, geht es deshalb **maskiert** hinaus: genug zum
|
||||
* Wiedererkennen, zu wenig zum Mitschreiben.
|
||||
*/
|
||||
class RefundPageController extends CommonController
|
||||
{
|
||||
@@ -58,6 +62,26 @@ class RefundPageController extends CommonController
|
||||
]);
|
||||
}
|
||||
|
||||
return array_merge($common, ['state' => 'open']);
|
||||
// Woher das Erstattungskonto kommt, entscheidet die Zahlungsart -- und damit, was die Seite
|
||||
// fragt: gar nichts (Konto liegt vor), die Herkunftsfrage (es gab ein Ursprungskonto) oder nur
|
||||
// die Felder (Barzahlung, es gab nie eines).
|
||||
$accountSource = $refund->account_iban !== null
|
||||
? RefundAccountSource::Known
|
||||
: $participant->refundData()->source;
|
||||
|
||||
return array_merge($common, [
|
||||
'state' => 'open',
|
||||
'accountSource' => $accountSource->value,
|
||||
// Der Name des page_texts-Eintrags, nicht der Text: Welche Erklärung gilt, entscheidet der
|
||||
// Server -- sonst könnten Seite und Beleg auseinanderlaufen.
|
||||
'accountDeclarationText' => $accountSource->accountDeclarationText(),
|
||||
// Ist das Konto bekannt (aus dem Zahlungseingang), braucht der Teili es nicht einzugeben --
|
||||
// er soll es aber wiedererkennen können, um einen Fehler zu melden. Deshalb maskiert:
|
||||
// Die vollständige Bankverbindung verlässt diese Seite weiterhin nicht.
|
||||
'knownAccount' => $refund->account_iban === null ? null : [
|
||||
'owner' => $refund->account_owner,
|
||||
'ibanMasked' => Iban::mask($refund->account_iban),
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user