Automatischer Zahlungsparser
This commit is contained in:
@@ -9,6 +9,7 @@ use App\Models\AvailablePaymentMethod;
|
||||
use App\Models\EventParticipant;
|
||||
use App\Models\PaymentMethod;
|
||||
use App\Repositories\ParticipantRefundRepository;
|
||||
use App\Support\Iban;
|
||||
use App\ValueObjects\Age;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
@@ -79,6 +80,7 @@ class EventParticipantResource extends JsonResource
|
||||
// Der laufende bzw. bestätigte Erstattungsvorgang -- null, wenn keiner existiert oder
|
||||
// der letzte abgebrochen wurde.
|
||||
'refund' => $this->refund($request),
|
||||
'refundData' => $this->refundData(),
|
||||
'alcoholicsAllowed' => new Age($this->resource->birthday)->getAge() >= $event->alcoholics_age,
|
||||
'localGroupPostcode' => $this->resource->localGroup()->first()?->postcode ?? '00000',
|
||||
'localGroupCity' => $this->resource->localGroup()->first()?->city ?? '00000',
|
||||
@@ -124,4 +126,28 @@ class EventParticipantResource extends JsonResource
|
||||
|
||||
return $refund?->toResource()->toArray($request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Das Konto, auf das erstattet würde -- sofern die Zahlungsart es kennt.
|
||||
*
|
||||
* Unmaskiert: Diese Resource speist die Teilnehmerliste der Aktionsleitung, die IBANs ohnehin
|
||||
* sehen und eingeben darf. Auf der öffentlichen Erstattungsseite geht dieselbe Angabe maskiert
|
||||
* hinaus, dort besorgt das der RefundPageController.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
private function refundData(): array
|
||||
{
|
||||
$refundData = $this->resource->refundData();
|
||||
|
||||
return [
|
||||
// `available` heißt für das Frontend: Das Konto steht fest, es wird nicht mehr erfragt.
|
||||
'available' => $refundData->hasAccount(),
|
||||
'accountOwner' => $refundData->accountOwner,
|
||||
'accountIban' => $refundData->accountIban === null
|
||||
? null
|
||||
: Iban::format($refundData->accountIban),
|
||||
'source' => $refundData->sourceNote,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user