Changelog: Dwi - 2026-06-11
Summary
Updates for today include payout synchronization improvements for GoCardless payment polling, refactoring background jobs to handle asynchronous direct debit payout confirmation webhooks, writing schema test utilities, and organizing technical documentation.
Added
- Schema checker script: Created check_schema.php to examine and debug table structure/column mapping for invoices and customer models.
Changed
- GoCardless webhook confirmation job: Updated ProcessGoCardlessPayment.php to map Billing Request ID to the payment's
charge_idinstead oftransaction_id. Eagerly fetches billing request references from the GoCardless API if missing in payload links. - Asynchronous payout mapping: Configured ProcessGoCardlessPayment.php to extract GoCardless Payout ID (PO...) during payout events and map it to
transaction_id. Triggers PaymentModule::paymentConfirmation and marks invoices paid viaInvoiceManagement::updateNonRentalInvoiceAfterPaid(). - GoCardless API polling command: Refactored PollGoCardlessPayments.php to check billing request status using
charge_idrather thantransaction_idand maps payout references. - Billing redirect callback: Modified GoCardlessController.php to fetch billing request using
charge_id. - GoCardless Service initialization: Updated GoCardlessService.php to set
transaction_idto null initially and store Billing Request ID incharge_id. - Order queries whitelisting: Modified Order.php to exclude GoCardless from unpaid order queries. Refactored PaymentModule.php to record
confirm_bydynamically based on method ('GoCardless' for GoCardless, 'Stripe' for Stripe, and admin user name for manual transactions). Added whitelisting filters in task checks in TaskRepository.php and task-detail.blade.php to ignore "Not Processed" status. - GoCardless documentation: Relocated and structured GoCardless index, explanation, how-to, tutorial, and reference guides in markdown files under
docs/modules/anddocs-site/docs/modules/gocardless/.
Fixed
- None.
Removed
- None.