Order Still Pending After Payment? What to Check
When a customer has paid but your order still says pending, check three things in order. First, the payment status with your provider. Second, whether your provider sent a notification. Third, whether your server answered it without an error. Then fix the cause and resend a test notification. Tools and names differ between providers.
- Payment status: did the payment really succeed at your provider?
- Notification: did your provider send a message about it?
- Your answer: did your server accept it without an error?
This guide is the written companion to our short video on the same topic.
Why can an order stay pending after the customer has paid?
Your order status is changed by your own system, usually when your provider tells it that a payment has succeeded. If that message never arrives, arrives late, or is rejected by your server, the payment can be complete while your order stays pending. Some payment methods also take time to confirm, so pending can be correct for a while.
Our article on payment webhooks explained covers what these notifications are.
What should you check first?
Check the payment status in your provider's dashboard or through their status lookup. If the payment is still pending there, the order is correct to wait, and the next step is to understand why the payment is slow to confirm. If it shows as successful, the problem is between your provider and your order system, so go to the next check.
If the payment shows as failed or declined, the order should not be paid. Our guide on why a card payment gets declined explains the difference between soft and hard declines.
What should you check second?
Look at your provider's delivery log for notifications, if they offer one. Find the notification for this payment and check whether it was sent, when, and what answer it received from your server. Providers differ in what they show, so check your provider's documentation.
If there is no notification, check that your notification address is set up for the right environment and is reachable from the internet.
What should you check third?
Check what your server answered. A notification is usually expected to receive a quick success response. An error, a timeout or a failed check of the message's signature can make your provider treat it as undelivered and try again later. Look at your server's logs around the time of the payment for errors.
Also check that your code finds the right order from the notification and updates it only once. Our article on three payment failures to test before launch includes a repeated-notification test.
How do you fix it and confirm?
Fix the cause you found, then resend a test notification, or ask your provider to resend the real one if they support it. Confirm that the order changes to paid once, and that your customer receives one confirmation. Write down what happened so the same check can be repeated.
Frequently asked questions
Why does my order say pending when the customer has paid?
Your order is usually updated when your provider sends a notification that the payment succeeded. If that message is late, missing or rejected by your server, the payment can be complete while the order stays pending.
What is the first thing to check?
Check the payment status with your provider. If it is still pending there, the order is right to wait. If it shows as successful, check whether a notification was sent and what your server answered.
Can a provider send the notification again?
Some providers retry a notification if your server does not answer with success, and some let you resend it manually. Check your provider's documentation for what yours supports.
Why might my server reject a notification?
Common reasons are an error in your code, a slow response, or a failed check of the message's signature. Look at your server's logs for the time of the payment.
How do I stop this from happening again?
Test failures before launch, including a notification that arrives twice or late, and monitor your notification endpoint. Keep a short checklist so that anyone on your team can run the same checks.
Where to go next
EPaySe is a payment gateway in development for high-risk and regulated businesses, reviewed and approved case by case. If you have questions about your own setup, contact the EPaySe team.
This article is general information, not legal, tax or financial advice. Check with your own advisor before making decisions about your business.
Related Articles
Why Your First Payout Can Be Smaller Than Your Sales
If your first payout is smaller than your sales, a reserve may be the reason. Learn how a held share of sales works, when it is released, and what to ask before you sign.
How to Read a Settlement Report in Five Lines
A settlement report can look long, but five lines carry most of the meaning: sales, refunds, fees, any amount held back, and the amount you are paid. Learn how to read them in order.
Chargeback Deadlines: Why the Clock Is Short
A chargeback notice comes with a deadline for your reply, and the deadline is short. Learn why the date matters, what to gather first, and why missing it usually means the merchant carries the loss.
Three Payment Failures to Test Before You Launch
Testing that a payment succeeds is only half the job. Learn three failures to simulate in your provider's test environment: a declined card, a slow response, and the same notification arriving twice.