Frame event checkout sheet for ticket buyers.
Deploy Ladill Events / deploy (push) Successful in 1m41s

Use buyer-facing copy, attendee email for gateway receipts, and keep operator wording only for staff wallet top-up.
This commit is contained in:
isaacclad
2026-07-15 13:23:36 +00:00
parent ab192e443f
commit 69ede57c03
5 changed files with 97 additions and 24 deletions
@@ -130,16 +130,18 @@ class EventRegistrationService
? sprintf('%s — %s', $content['name'] ?? $qrCode->label, $tierName)
: sprintf('%s ticket — %s', $content['name'] ?? $qrCode->label, $tierName);
$sellerEmail = trim((string) ($qrCode->user->email ?? ''));
if ($sellerEmail === '' || ! str_contains($sellerEmail, '@')) {
$sellerEmail = 'seller+'.($qrCode->user->public_id ?? 'events').'@checkout.ladill.local';
// Ticket buyers (not till staff): gateways get the attendee email so
// receipts and 3DS challenges belong to the person purchasing.
$buyerEmail = $email;
if ($buyerEmail === '' || ! str_contains($buyerEmail, '@')) {
$buyerEmail = 'buyer+'.($registration->reference).'@checkout.ladill.local';
}
$checkout = $this->gateway->initializeCheckout(
$qrCode->user,
$amountMinor,
(string) ($registration->currency ?? 'GHS'),
$sellerEmail,
$buyerEmail,
LadillLink::path($qrCode->short_code, 'register/callback'),
$registration->reference,
[
@@ -148,6 +150,7 @@ class EventRegistrationService
'registration_reference' => $registration->reference,
'qr_code_id' => $qrCode->id,
'mode' => $mode,
'attendee_email' => $email,
],
);