Skip to main content

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