Money taken, order not updated.
WHAT IT MEANS
The gateway charged the customer and your site never received the confirmation.
THE CAUSE
The webhook is not configured, or is configured incorrectly.
Your site relies on the gateway calling back to confirm payment. Without that call, the order stays unpaid however the customer's payment went.
THE FIX
Copy the webhook or callback URL shown by the payment plugin.
Paste it into the corresponding field in your gateway dashboard.
For Flutterwave, also confirm the secret hash matches between the dashboard and the plugin.
VERIFYING
Place a real low-value order and confirm the status changes to processing without manual intervention. Refund it afterwards.
IN THE MEANTIME
Check the gateway dashboard for successful payments with no matching completed order, and update those orders manually.
Customers who paid and see an unpaid order will contact you, and rightly.
WHY IT IS URGENT
Every order taken while this is broken requires manual reconciliation, and some will be missed.