When a customer attempts to pay through Stripe, it’s important to understand the difference between:
A Stripe invoice being created
A Stripe payment being successfully completed
These are not the same thing.
A Stripe invoice can exist even if the payment fails.
This article explains how Stripe payments behave inside Hoops and how to correctly identify whether a customer has actually completed payment.
How the Stripe Payment Flow Works
When a customer:
Opens the SalesDoc
Clicks Accept & Pay
Enters their card details
Clicks Process Payment
Hoops sends the payment request to Stripe.
At this point:
Stripe immediately creates an invoice for the payment attempt
Hoops records the Stripe invoice reference
This happens before payment is fully confirmed.
What Happens If the Payment Fails?
If the card:
Has insufficient funds
Is declined
Fails fraud checks
Or cannot be processed
Stripe will display an error message to the customer.
For example:
“Insufficient funds”
“Please try another payment method”
The customer can then:
Retry payment
Use a different card
Transfer funds and try again later
Important: The Stripe Invoice Still Exists
Even when payment fails:
The Stripe invoice is still created
A View Invoice link still appears inside Hoops
This can sometimes confuse users because it may look like payment succeeded simply because a Stripe invoice exists.
A Stripe invoice existing does NOT mean payment was successful.
How to Tell If Payment Was Successful
There are three ways to confirm whether the payment actually succeeded.
1. Did the SalesDoc Status Change to Accepted?
This is the most important indicator.
If payment succeeds:
The SalesDoc status automatically updates to
Accepted
If the status did NOT change:
The payment was not successfully completed
Even if:
A Stripe invoice exists
A View Invoice link appears
the customer may still not have paid successfully.
2. View the Invoice in Stripe
From the SalesBoard, click View Invoice.
This opens the invoice directly inside your Stripe dashboard.
Inside Stripe, check the invoice status:
Paid→ payment succeededOpen,Failed, orUnpaid→ payment did not complete successfully
3. Check the Activity Feed
The Activity Feed inside the SalesDoc provides the clearest confirmation of a successful payment.
If payment succeeded, you’ll see activity similar to:
This confirms:
The customer completed payment successfully
The SalesDoc status updated correctly
Stripe processed the payment
Successful Payment:
Unsuccessful Payment:
Noting that the Made an online payment activity is missing.
Important
If this activity does NOT appear:
The Stripe invoice may still exist
But the payment was not successfully completed
In this situation:
No money has been received
The SalesDoc status will remain unchanged
The customer may still need to retry payment
Comparing the Two Scenarios
Failed Payment Example
Inside Hoops:
Stripe invoice exists
View Invoice link exists
SalesDoc status is NOT Accepted
No successful payment activity appears
Inside Stripe:
Invoice exists
Invoice status shows Failed, Open, or Unpaid
Result:
No money was received
Successful Payment Example
Inside Hoops:
Stripe invoice exists
SalesDoc status updates to Accepted
Successful payment activity appears
Inside Stripe:
Invoice status shows Paid
Result:
Payment was successfully collected
Summary
The key thing to remember is:
A Stripe invoice being created does NOT mean payment was successful.
A successful payment is confirmed when:
The SalesDoc status changes to Accepted
The Stripe invoice shows Paid
The Activity Feed records a successful online payment
If those things have not occurred, then the customer has not successfully completed payment.





