Payments & Money APIs · Charging Safely

Authorize, Capture, Void & Partial Captures

Separating authorization from capture for shipping, marketplaces and holds.

Manual capture lets you authorize at checkout and capture later — when goods ship, when the final amount is known (hotels, ride-hailing, groceries with substitutions) or after fraud review. Captures can be partial (capture less than authorized; the rest is released), and uncaptured authorizations should be voided/cancelled to release the customer's funds promptly. Authorizations expire (commonly ~7 days for online card payments; varies by network and PSP), so schedule captures and handle expiry by re-authorizing.

Capture strategies

Criterion Automatic capture Manual capture
Customer charged Immediately When you capture
Amount can change Refund difference Capture less (partial)
Cancel before fulfilment Refund (fees may apply) Void (no settlement)
Risk Refund volume Authorization expiry
Best for Digital goods, instant delivery Physical goods, variable amounts, fraud review
intent = stripe.PaymentIntent.create(amount=12000, currency="usd", capture_method="manual",
                                     payment_method=pm_id, confirm=True, idempotency_key=f"auth:{order.id}")

# When the shipment leaves the warehouse (final amount known after substitutions):
stripe.PaymentIntent.capture(intent.id, amount_to_capture=10850, idempotency_key=f"capture:{order.id}")

# Order cancelled before shipping:
stripe.PaymentIntent.cancel(intent.id, idempotency_key=f"void:{order.id}")

Common pitfalls

  • Forgetting to void (customer's funds held for days).
  • Captures after authorization expiry failing silently.
  • Capturing more than authorized.

Key points

  • Manual capture for physical/variable orders
  • Partial capture and voids
  • Track authorization expiry

Further reading: Stripe: Place a hold on a payment method

Practice questions

When is manual capture preferable to automatic capture?

Answer

When fulfilment happens later or the final amount may change — physical shipments, hotels, rides, grocery substitutions — or when fraud review must finish first.

Why void an authorization instead of capturing and refunding?

Answer

A void releases the hold without moving money, avoiding settlement, refund delays and potentially fees.

Open in the app to mark lessons complete, take notes and track your progress.