Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.younegotiate.com/llms.txt

Use this file to discover all available pages before exploring further.

Real-World Example

Jane has an installment payment due tonight. The scheduled payment command runs, checks that her account and payment method are eligible, then dispatches the correct merchant job for Authorize.net, Stripe, USAePay, or Tilled.

Visual Flow

How It Should Work

  • It should process due schedule transactions through the scheduled command and merchant-specific queued jobs.
  • It should check consumer status, accepted offer, merchant configuration, and payment profile before charging.
  • It should record success, failure, attempts, and payment history consistently.
  • It should avoid overlapping processing for the same scheduled transaction.

How It Should Not Work

  • It should not charge consumers whose plans are on hold or not eligible for processing.
  • It should not process the same scheduled transaction twice at the same time.
  • It should not bypass gateway-specific services or payment profile rules.

Developer Notes

  • ProcessConsumerPaymentsCommand is scheduled daily at 19:00.
  • Merchant jobs implement queued payment processing and share the ProcessesScheduleTransactionPayments concern.
  • Held plans dispatch skip behavior instead of normal payment processing.
  • app/Console/Kernel.php
  • app/Console/Commands/ProcessConsumerPaymentsCommand.php
  • app/Jobs/AuthorizeSchedulePaymentJob.php
  • app/Jobs/StripeSchedulePaymentJob.php
  • app/Jobs/USAEpaySchedulePaymentJob.php
  • app/Jobs/TilledSchedulePaymentJob.php
  • app/Jobs/Concerns/ProcessesScheduleTransactionPayments.php
Last modified on May 25, 2026