An uncaptured payment in Stripe is money you have authorized but not yet taken from a customer's card

When you process a payment in Stripe, there are two separate moments: authorization and capture. Authorization checks that the card is valid and has enough funds. Capture actually pulls the money from the account. An uncaptured payment is stuck between those two moments — the customer's bank has set the money aside, but you have not yet told Stripe to complete the transaction.

This matters because uncaptured payments expire. Stripe holds them for seven days by default. If you do not capture the payment within that window, the authorization disappears, the hold on the customer's account is released, and you get no money. The customer sees the temporary hold vanish from their statement.

Uncaptured payments happen by design in some businesses — restaurants that authorize your card before you sign the receipt, hotels that hold a deposit until checkout. But they also happen by accident: a payment gets stuck in your system, a manual review process never completes, or a refund is issued before capture. Either way, you need to know where the payment is and what to do with it.

Key Takeaways

  • Authorization and capture are two separate steps; uncaptured means the money is authorized but not yet taken from the customer's account.
  • Stripe automatically releases uncaptured payments after seven days, so you lose the transaction if you do not capture within that window.
  • You can capture an uncaptured payment manually in your Stripe dashboard, or set your integration to capture automatically at the moment of authorization.
  • If a payment remains uncaptured past seven days, you must ask the customer to provide their card details again — the original authorization is gone.
  • Uncaptured payments show in your Stripe account as separate from completed charges, so you can track them and see which ones are about to expire.

How authorization and capture work in Stripe

When a customer enters their card details on your site or app, Stripe sends the card information to the customer's bank. The bank checks whether the card is real, whether it is not stolen, and whether the account has enough available balance. If all three checks pass, the bank authorizes the transaction and places a temporary hold on that amount. The customer sees this hold on their account — it looks like a pending charge.

Authorization does not move money. It only reserves it. The bank is saying: "This amount is set aside for this merchant. The customer cannot spend it elsewhere." But the merchant (you) has not asked for the money yet.

Capture is the request to actually take the money. When you capture an authorized payment, Stripe tells the bank to complete the transaction. The hold becomes a real charge. The money moves from the customer's account to your merchant account, usually within one to three business days.

Most online businesses authorize and capture in the same when ready — a customer buys something, you charge their card when ready. But Stripe lets you separate these steps. You can authorize now and capture later, which is useful if you need time to verify the order, check inventory, or wait for a signature.

Why payments stay uncaptured and what happens next

Uncaptured payments happen for several reasons. Your checkout flow might be set to authorize only, leaving capture to a manual step later. Your system might require a manager to review high-value orders before charging. A payment might be waiting for you to confirm that an item is in stock. Or a technical error might have interrupted the capture step without your knowledge.

Whatever the reason, the clock is running. Stripe holds uncaptured payments for seven days. On the eighth day, the authorization expires automatically. The hold on the customer's account is released. The payment disappears from your Stripe dashboard's uncaptured list. You have no money and no way to charge that card again without the customer's permission.

If you realize on day six that you need to capture a payment, you can do it when ready in your Stripe dashboard. Find the payment, click it, and select "Capture." The money is yours. But if you miss the seven-day window, the only option is to ask the customer for their card details again and process a new authorization.

How to capture an uncaptured payment in Stripe

To capture a payment manually, log into your Stripe dashboard and go to the Payments section. Search for the customer's name, order number, or the amount. When you find the uncaptured payment, it will show a status of "Authorized" with a "Capture" button next to it. Click that button. Stripe will when ready request the capture from the customer's bank.

The capture usually completes within seconds. The payment status changes to "Succeeded," and the money enters your account. The customer's temporary hold becomes a real charge on their statement. If the capture fails — for example, if the card was reported stolen in the meantime — Stripe will tell you why and the payment will remain uncaptured until the seven-day window closes.

If you want to avoid manual capture altogether, you can change your Stripe settings to capture automatically. In your dashboard, go to Settings, then Payment Methods. Find the card payment method and toggle "Automatic Capture" on. From that point forward, every authorized payment will capture when ready. This is the default for most businesses and removes the risk of forgetting to capture before the important date.

Uncaptured payments and refunds

If you need to cancel an uncaptured payment before the seven-day window closes, you do not issue a refund — you release the authorization. Releasing an authorization tells the bank to drop the hold when ready. The customer sees the pending charge disappear from their account right away, instead of waiting seven days.

To release an authorization in Stripe, find the uncaptured payment in your dashboard, click it, and select "Release." The authorization is canceled. The customer's money is no longer reserved. You cannot capture that payment later — it is gone.

If a payment has already been captured and you need to return the money, that is a refund, not a release. Refunds take one to three business days to appear in the customer's account. Releases are when ready.

What to do if an uncaptured payment expires

If you miss the seven-day window and the authorization expires, the payment is no longer available in Stripe. You cannot capture it. The customer's bank has released the hold. The money is back in the customer's available balance.

Your only option is to process a new transaction. Contact the customer and ask them to provide their card details again, or send them a payment link. You will need a fresh authorization and capture. This is why it is important to monitor your uncaptured payments — the longer you wait, the closer you get to losing the transaction.

Some businesses set calendar reminders for high-value uncaptured payments, especially if they are waiting for a signature or shipment confirmation. Others automate the process by setting up their integration to capture on a specific trigger — for example, when inventory is confirmed or when a package ships.

Uncaptured payments and your accounting

Uncaptured payments do not count as revenue yet. Your accounting system should not record them as income. They are a liability — money that belongs to the customer until you capture it. Once you capture, the payment becomes revenue and appears on your income statement.

If you use accounting software like QuickBooks or Xero, make sure your Stripe integration is set to record only captured payments as income. If it records authorizations as well, your revenue numbers will be inflated and you will have to reconcile the difference when authorizations expire.

Stripe's own reporting shows uncaptured payments separately from captured ones. You can see them in your Payments list and in your reconciliation reports. This separation makes it easier to spot payments that are about to expire and take action before the important date.

Frequently Asked Questions

Can a customer dispute an uncaptured payment?

No. Until you capture the payment, it is not a real charge. The customer's bank is only holding the money. If the customer disputes an uncaptured payment, the bank will straightforward release the hold. Once you capture, the payment becomes disputable like any other charge.

What happens if I capture a payment after the customer's card expires?

The capture will fail. Stripe will try to process it, but the bank will reject it because the card is no longer valid. You will see an error message in your dashboard. You will need to contact the customer and ask for a new card.

Do uncaptured payments affect my Stripe fees?

No. Stripe charges you only when you capture a payment. Authorizations are free. If an authorization expires without capture, you owe nothing to Stripe.

Can I capture a payment more than once?

No. Once you capture an authorized payment, it is complete. You cannot capture it again. If you need to charge the customer more, you must process a separate authorization and capture.

How do I see all my uncaptured payments in Stripe?

Go to your Stripe dashboard, click Payments, and filter by status "Authorized." This shows every uncaptured payment in your account, along with the authorization date and amount. You can sort by date to see which ones are closest to expiring.