Real-World Example
Jane scans a QR code or opens a signed payment link from a creditor message. The portal should take her directly to the intended payment context while still protecting the link from tampering or misuse.
Visual Flow
How It Should Work
- It should validate signed external payment links before showing payment details.
- It should route the consumer to the intended account and payment context.
- It should support QR-code entry points without bypassing account safety.
How It Should Not Work
- It should not accept expired, modified, or unsigned payment links.
- It should not expose full portal access to a link viewer unless normal authentication allows it.
- It should not let one signed link pay a different account.
Developer Notes
- External payment and QR flows are public/signed routes.
- Call
GET /payment with the complete signed query string to load payer-facing data.
- Submit the payment to
POST /payment using the same signed query string and a unique Idempotency-Key header.
- Tokenize card or bank details with Basis Theory. Raw payment credentials must never pass through the frontend application server or the YouNegotiate payment API.
- Use the returned signed
status_url and receipt.download_url as-is. Both are temporary links and must not be reconstructed by the frontend.
- A successful gateway charge remains successful even if receipt email or automated communication delivery is delayed.
routes/consumer/index.php
app/Livewire/Consumer/ExternalPayment.php
app/Http/Controllers/Consumer/ExternalPaymentQRCodeController.php
Last modified on July 12, 2026