Tickets / BUG-109
Released High BUG · OPENED 1 OCT 2026 · 2 REPLIES

aerocommerce/total-processing Admin MOTO orders taking admins to front end OrderConfirmation page

SF Stephen Fuller · teclan Ltd
Public
Log in to upvote, comment, or submit your own tickets.
Module: aerocommerce/total-processing Version 0.6.5 1. Place and order in the Aero Admin Panel 2. Use TotalProcessing as teh payment method. Expected Result: to be taken back to the order in question with a sucess message. Actual Result: Taken to the front end order confirmation page. In Driver.php:229-250, completeRegistration() always sets a statusCheckUrl. payment.twig:59-99 checks that URL every 3 seconds. When the response says complete: true, it sends the browser to data.redirect. In TotalProcessingController.php:47-117, paymentStatus() reports the order as complete once $order->hasBeenPlaced() || $order->isFullyPaid() is true. confirmationRedirectUrl() then only knows about two places to send the browser: Pay by Link, or checkout.confirmation. It has no admin case, so it never returns admin.orders.view. The normal admin flow submits the payment widget to the driver's complete URL, which places the order and redirects to admin.orders.view with the success message. The poller runs alongside that. Payment can finish before the browser's own completion request comes back, for example: the webhook in ProcessWebhook.php marks the payment as paid or the order gets placed during 3DS or a slow round-trip When that happens, the next poll gets complete: true and the browser goes to the frontend confirmation page first. That would explain why it only happens sometimes. Possible fixes Make a small change to the package, either in a fork or as a patch, using one of these options: Don't poll for MOTO payments. In completeRegistration(), set 'statusCheckUrl' => $this->isInMerchantMode(PaymentDriver::MOTO) ? null : URL::signedRoute(...). This is the simplest option, and it matches how additionalPayment() already works. Make the redirect admin-aware. Pass a flag such as moto=1 in $statusCheckParams. Then return route('admin.orders.view', $order) from confirmationRedirectUrl() when the flag is set.
MP
Michael Price Aero 3W AGO

Hi Stephen, Thank you for the detailed report - I am working on fixing this and will update you in due course.

MP
Michael Price Aero 3W AGO

Hi, this has now been fixed in release 0.6.6 - if you have any further issues, please let us know :)

Log in to join the discussion.