- WooCommerce
- Magento
- Shopify Soon
Payment lifecycle
Check payment statuses, available actions, refunds, and disputes.
Overview
Use a payment's status to decide what to show your customer and what to do next: fulfill the order, capture it, refund it, or check again later. To get the current status, call find-payment with the Reservepay payment ID or your external_id.
Before you capture, reverse, void, or refund, check the matching flag on the payment: capturable, reversible, voidable, or refundable. The flags tell you what's allowed right now, which the status alone can't.
Statuses
| Status | Meaning | What to do |
|---|---|---|
PENDING |
The payment was created, but the customer hasn't finished paying. | Wait for a webhook or check again later. |
AUTHORIZED |
The funds are held on the customer's card but not captured (capture: false). |
Capture or reverse it within 7 days. |
SUCCESSFUL |
The payment was captured. | Fulfill the order. |
FAILED |
The payment attempt failed. | Read the failure code. To retry, start a new payment with a new external_id. |
EXPIRED |
The customer didn't finish paying before expires_at. |
To retry, start a new payment with a new external_id. |
REVERSED |
You released an authorization with reverse-payment. |
Nothing. No money moved. |
VOIDED |
You canceled a captured payment with void-payment before it settled. |
Nothing. No money moved. |
PARTIALLY_REFUNDED |
Part of a successful payment has been refunded. | Refund more if needed. |
REFUNDED |
The full amount of a successful payment has been refunded. | Nothing. |
DISPUTED |
The customer disputed the payment with their bank. | Respond before the dispute's deadline_at. See Disputes. |
For a FAILED card payment, look up its code in Payment failure codes.
How statuses change
| From | To | When |
|---|---|---|
PENDING |
AUTHORIZED |
The authorization succeeds and the payment was created with capture: false. |
PENDING |
SUCCESSFUL |
The payment succeeds and was created with capture: true. |
PENDING |
FAILED |
The payment attempt fails. |
PENDING |
EXPIRED |
The customer doesn't finish paying in time. |
AUTHORIZED |
SUCCESSFUL |
You capture it with capture-payment. |
AUTHORIZED |
REVERSED |
You reverse it with reverse-payment. |
SUCCESSFUL |
VOIDED |
You void it with void-payment while voidable is true. |
PARTIALLY_REFUNDED, REFUNDED, and DISPUTED describe a successful payment that has refunds or a dispute attached. They aren't separate steps. If a payment has a dispute, its status shows DISPUTED even when it also has refunds, and it keeps showing DISPUTED after the dispute closes. To see both, call list-refunds-by-payment and list-disputes-by-payment.
Statuses that can still change
Occasionally, a late confirmation from the acquiring bank moves a FAILED or EXPIRED payment to SUCCESSFUL. Don't treat these payments as closed for good. Check unresolved payments again with find-payment when you reconcile. See Reconciliation.
For capture and reversal windows, see Authorization and capture. For refunds and voids, see Refunds, voids, and reversals.
Dive deeper into these advanced integration topics to unlock Reservepay's full potential with our in-depth guides.
Issue refunds, void transactions before they settle, and reverse authorizations when needed.
Read the guideSeparate authorization from capture to hold funds without charging. Perfect for pre-orders or reservations
Read the guideBuild your own POS, or work with our app by sending commands or using deep links.
Read the guideBuild profiles by attaching customer data. Gain insights, reduce fraud risk, and create experiences that drive loyalty.
Read the guideSend payouts to your primary bank account or to your contacts via bank account, mobile number or national ID.
Read the guideStay informed about payment events with real-time webhooks. Automate your order processing, and more...
Read the guideFilter payments and payouts, export CSVs, read balance holds, and reconcile daily statements.
Read the guideLook up what each Reservepay failure code means when a payment is declined.
Read the guideNo account yet?
Start integrating all these amazing features into your app or website by creating your own merchant account today. It's free to sign up and only takes a few minutes to get started.
