What is an Invoice Status?
An invoice status tells you the current state of a payment attempt. Think of it like a tracking number for a package—it tells you where the payment is in its lifecycle. Understanding these statuses is crucial for building a good user experience and handling edge cases in your application. When you process a payment, Revolv3 creates an invoice and attempts to charge the customer. The invoice status reflects what happened with that attempt. Some statuses are immediate (like “Paid” for credit cards), while others can change over time (like ACH payments that take days to process).Quick Reference: Common Statuses
Immediate responses (you’ll see these right away):- Credit Cards:
Paid(success) orNoncollectable(declined) - ACH:
Failed(immediate failure) orPaid(pending confirmation)
- After 1-5 business days, an ACH payment will either stay
Paidor change toNoncollectableif the bank rejects it
Understanding Invoice Statuses
Here’s a comprehensive guide to each status, when you’ll see it, and what it means for your business:Paid
What it means: The payment was successful and the money has been collected (or authorized for credit cards). When you’ll see it:- Customer’s credit card was approved
- ACH payment was successfully processed (after 1-5 business days)
- A subscription payment went through
- An installment payment was collected
- Show a success message to the customer
- Fulfill the order (ship the product, activate the service, etc.)
- Update your order status to “paid”
- Store the
invoiceIdandnetworkTransactionIdfor your records
Pending
What it means: The payment is being processed but we haven’t received a final answer yet. This is common for ACH payments or when a processor is slow to respond. When you’ll see it:- ACH payment was submitted but hasn’t cleared yet (takes 1-5 business days)
- Credit card payment is waiting for processor response (rare, but can happen)
- Subscription payment is being processed
- One-time payment is waiting for confirmation
- Show a “processing” message to the customer
- Don’t fulfill the order yet—wait for final status
- Set up webhooks to be notified when status changes
- The status will eventually change to
Paid,Noncollectable, or another final status
Paid.
Possible next statuses: Paid, Failed, BatchPending, CapturePending, Noncollectable, Recycle
Noncollectable
What it means: The payment cannot be collected. The money will not be charged to the customer. When you’ll see it:- Credit card was declined (insufficient funds, card expired, fraud alert, etc.)
- ACH payment was rejected by the bank (insufficient funds, invalid account, etc.)
- Invoice expired (past the expiration window you configured)
- Invoice is too old (more than 30 days past the billing date)
- All retry attempts have been exhausted
- Show an error message to the customer
- Ask them to try a different payment method
- For subscriptions, you might want to pause the subscription and notify the customer
- Don’t fulfill the order—no money was collected
Recycle
What it means: The payment attempt failed, but Revolv3 will automatically try again later. This is common for subscription payments. When you’ll see it:- A subscription payment failed (card declined, insufficient funds, etc.)
- Revolv3 will retry based on your merchant settings (typically after a few days)
- Only applies to recurring payments and installments (not one-time payments)
- You don’t need to do anything—Revolv3 handles the retry automatically
- Set up webhooks to be notified when it succeeds or fails
- Consider notifying the customer that their payment failed and will be retried
- The status will change to
Paidif the retry succeeds, orNoncollectableif all retries fail
Paid, Noncollectable
Refund
What it means: The invoice has been fully refunded. All money has been returned to the customer. When you’ll see it:- You issued a full refund for a paid invoice
- The refund amount equals the original payment amount
- Update your order status to “refunded”
- Process any return/exchange workflows in your system
- The customer has their money back
PartialRefund
What it means: The invoice has been partially refunded. Some money has been returned, but not all of it. When you’ll see it:- You issued a partial refund (e.g., customer returned one item from a multi-item order)
- The refund amount is less than the original payment amount
- Update your order status accordingly
- Process partial return workflows
- You can issue additional refunds up to the original amount
Refund (if you refund the remaining amount), or stay as PartialRefund
Void
What it means: The invoice was marked as void (cancelled) and was never actually billed. This is a manual status you can set. When you’ll see it:- You manually set this status in the Revolv3 portal
- The invoice was handled outside of Revolv3 (e.g., customer paid cash, you processed it through another system)
- You want to mark an invoice as “not billable” for accounting purposes
- This is typically for your records only
- The invoice won’t be automatically processed
MerchantPaid
What it means: Similar toVoid—you manually marked this as paid even though Revolv3 didn’t process it.
When you’ll see it:
- Customer paid through another method (cash, check, different payment system)
- You manually set this status in the portal
- For accounting/reconciliation purposes
- This is for your records
- The invoice won’t be processed by Revolv3
MerchantCancelled
What it means: You manually cancelled the invoice. Similar toVoid and MerchantPaid.
When you’ll see it:
- You manually set this status in the portal
- Order was cancelled and you don’t want to bill the customer
- For accounting purposes
- This is for your records
- The invoice won’t be processed
BatchPending
What it means: The payment is waiting in a batch queue for WorldPay to process. WorldPay processes payments in batches (usually hourly). When you’ll see it:- You’re using WorldPay as your processor
- Payment was submitted to WorldPay’s batch queue
- Waiting for WorldPay to process the batch and send a callback
- Wait for the callback from WorldPay
- Revolv3 will automatically update the status when WorldPay responds
- Set up webhooks to be notified of status changes
- Don’t fulfill orders until status changes to
Paid
Paid, Noncollectable, Recycle
CapturePending
What it means: An authorization was made, and we’re waiting for the capture to complete. This happens with the two-step authorization/capture flow. When you’ll see it:- You authorized a payment (put a hold on funds)
- You’re waiting for the capture to complete (actually charge the customer)
- Using Adyen processor with authorization/capture flow
- Waiting for Adyen to confirm the capture via webhook
- Wait for the capture to complete
- Revolv3 will update the status automatically
- Set up webhooks to be notified
- Don’t fulfill until status is
Paid
Paid, Failed, Recycle, Pending, RefundPending, Noncollectable
RefundPending
What it means: A refund has been submitted and we’re waiting for the processor (Adyen) to confirm it. When you’ll see it:- You issued a refund
- Using Adyen processor
- Waiting for Adyen to confirm the refund via webhook
- Wait for Adyen’s confirmation
- Revolv3 will update the status automatically
- Set up webhooks to be notified
RefundDeclined (if refund fails)
RefundDeclined
What it means: The refund was rejected by the processor. When you’ll see it:- You tried to issue a refund
- Processor rejected it (rare, but can happen)
- Contact Revolv3 support if this happens unexpectedly
- Check if the original payment is still valid
- You may need to try the refund again
RefundFailed
What it means: The refund attempt failed due to a technical issue (connectivity, processor error, etc.). When you’ll see it:- You tried to issue a refund
- There was a connectivity issue or processor error
- Not a decline, but a technical failure
- Try the refund again
- Contact support if it keeps failing
- Check processor status
Failed
What it means: The payment attempt failed due to a technical issue (connectivity problem, processor unavailable, etc.). This is different from a decline—the bank never even saw the request. When you’ll see it:- Using BridgePay processor
- Couldn’t connect to BridgePay
- Processor was unavailable
- This doesn’t count as a billing attempt (unlike a decline)
- Retry the payment
- Check processor status
- Contact support if it persists
OneTimePaymentPending
What it means: A one-time payment was submitted but we haven’t received a response yet. This is a rare, temporary status. When you’ll see it:- One-time payment (not a subscription) was submitted
- Processor hasn’t responded yet
- This status is temporary and will change quickly
- Wait for the response
- Status will change to
Paid,Failed,Noncollectable,Pending,CapturePending, orRefundPending
Note: This status is rarely seen and typically transitions quickly to another status.
Real-World Scenarios
E-commerce checkout:- Customer clicks “Complete Purchase”
- You send payment request → Status:
Pending - Credit card approved → Status:
Paid✅ - You show success page and ship the product
- Monthly charge attempts → Status:
Pending - Card declined → Status:
Recycle(will retry) - Retry succeeds → Status:
Paid✅ - Or all retries fail → Status:
Noncollectable❌
- Customer pays with bank account → Status:
Pending - Wait 1-5 business days
- Bank processes → Status:
Paid✅ - Or bank rejects → Status:
Noncollectable❌
- Customer returns item → You issue partial refund
- Status:
PartialRefund - Customer returns remaining items → You refund the rest
- Status:
Refund(fully refunded)
Best Practices
- Always check status before fulfillment: Don’t ship products or activate services until status is
Paid - Set up webhooks: Get notified immediately when statuses change, especially for ACH payments
- Handle
Recyclegracefully: For subscriptions, notify customers that payment failed and will be retried - Store status history: Keep a log of status changes for customer support and debugging
- Show appropriate messages: Display user-friendly messages based on status (e.g., “Payment processing” for
Pending, “Payment failed” forNoncollectable)
Next Steps
- Invoice Response Guide — Understand the full invoice response structure
- Get Invoice Details — Learn how to query invoice status
- Webhooks — Set up real-time status notifications

