Skip to main content

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) or Noncollectable (declined)
  • ACH: Failed (immediate failure) or Paid (pending confirmation)
Statuses that can change (especially for ACH):
  • After 1-5 business days, an ACH payment will either stay Paid or change to Noncollectable if 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: 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
What to do:
  • 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 invoiceId and networkTransactionId for your records
Business impact: Money is in your account (or will be after settlement). You can proceed with fulfillment.

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
What to do:
  • 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
Business impact: Money is not yet confirmed. Don’t ship products or activate services until you see 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
What to do:
  • 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
Business impact: No money was collected. You’ll need to collect payment another way or cancel the order.

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)
What to do:
  • 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 Paid if the retry succeeds, or Noncollectable if all retries fail
Business impact: Payment is being retried automatically. Wait for the final status before taking action. Possible next statuses: 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
What to do:
  • Update your order status to “refunded”
  • Process any return/exchange workflows in your system
  • The customer has their money back
Business impact: Money has been returned to the customer. The transaction is complete.

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
What to do:
  • Update your order status accordingly
  • Process partial return workflows
  • You can issue additional refunds up to the original amount
Business impact: Some money has been returned. You can still refund more if needed. Possible next statuses: 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
What to do:
  • This is typically for your records only
  • The invoice won’t be automatically processed
Business impact: No payment was collected through Revolv3. Use this for accounting/reconciliation purposes.

MerchantPaid

What it means: Similar to Void—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
What to do:
  • This is for your records
  • The invoice won’t be processed by Revolv3
Business impact: Payment was collected outside of Revolv3. Use for reconciliation.

MerchantCancelled

What it means: You manually cancelled the invoice. Similar to Void 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
What to do:
  • This is for your records
  • The invoice won’t be processed
Business impact: Invoice was cancelled. No payment will be collected.

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
What to do:
  • 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
Business impact: Payment is queued for processing. Wait for final status. Possible next statuses: 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
What to do:
  • 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
Business impact: Funds are authorized (held) but not yet captured. Wait for confirmation. Possible next statuses: 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
What to do:
  • Wait for Adyen’s confirmation
  • Revolv3 will update the status automatically
  • Set up webhooks to be notified
Business impact: Refund is being processed. Wait for confirmation. Possible next statuses: 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)
What to do:
  • Contact Revolv3 support if this happens unexpectedly
  • Check if the original payment is still valid
  • You may need to try the refund again
Business impact: Refund failed. Money was not returned to customer.

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
What to do:
  • Try the refund again
  • Contact support if it keeps failing
  • Check processor status
Business impact: Refund failed due to technical issue. Try again.

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)
What to do:
  • Retry the payment
  • Check processor status
  • Contact support if it persists
Business impact: Payment failed due to technical issue. Retry is recommended.

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
What to do:
  • Wait for the response
  • Status will change to Paid, Failed, Noncollectable, Pending, CapturePending, or RefundPending
Business impact: Payment is being processed. Wait for final status.
Note: This status is rarely seen and typically transitions quickly to another status.

Real-World Scenarios

E-commerce checkout:
  1. Customer clicks “Complete Purchase”
  2. You send payment request → Status: Pending
  3. Credit card approved → Status: Paid
  4. You show success page and ship the product
Subscription billing:
  1. Monthly charge attempts → Status: Pending
  2. Card declined → Status: Recycle (will retry)
  3. Retry succeeds → Status: Paid
  4. Or all retries fail → Status: Noncollectable
ACH payment:
  1. Customer pays with bank account → Status: Pending
  2. Wait 1-5 business days
  3. Bank processes → Status: Paid
  4. Or bank rejects → Status: Noncollectable
Refund scenario:
  1. Customer returns item → You issue partial refund
  2. Status: PartialRefund
  3. Customer returns remaining items → You refund the rest
  4. Status: Refund (fully refunded)

Best Practices

  1. Always check status before fulfillment: Don’t ship products or activate services until status is Paid
  2. Set up webhooks: Get notified immediately when statuses change, especially for ACH payments
  3. Handle Recycle gracefully: For subscriptions, notify customers that payment failed and will be retried
  4. Store status history: Keep a log of status changes for customer support and debugging
  5. Show appropriate messages: Display user-friendly messages based on status (e.g., “Payment processing” for Pending, “Payment failed” for Noncollectable)

Next Steps