Capturing and voiding authorised payments
Most card payments are charged the moment an order is placed. Two gateway settings and one gateway behaviour produce a different kind of order: the card has been authorised — the amount is reserved on it — but nothing has been taken yet. Such an order waits in On Hold until you either capture the payment (take the money and release the order) or void it (release the hold and cancel). Both buttons live on the order page, and this article covers them, what TitanCart does on its own in the meantime, and what happens when an authorisation is left too long.
Edition note: the gateways that can authorise without charging — Square and Authorize.net — are TitanCart Pro gateways. TitanCart Lite’s Stripe charges at checkout, so Lite stores never see an authorised order; the Payment card described in section 3 still appears on Lite orders, listing the Stripe transactions.
1. When does an order arrive authorised but not paid?
- Square with Capture Method set to Delayed capture (authorize, capture later) — see Square setup.
- Authorize.net with Transaction Type set to Authorize Only (capture later) — see Authorize.net setup.
- Authorize.net holds the payment for review. Your account’s fraud filters (Payments → Fraud Settings in the Merchant Interface) can hold a transaction instead of approving or declining it, whichever Transaction Type you use. The order arrives held rather than authorised; section 6 covers the difference.
Everything else — Stripe, PayPal, Venmo, Square on Auto-complete, Authorize.net on Authorize & Capture, and the offline methods — is unaffected. Subscription orders paid through Square are always charged immediately, whatever the Capture Method says.
Merchants choose the authorise-first settings to look an order over before taking the money — a made-to-order product, a high-value cart, a manual fraud check — or because the card is charged only when the goods actually leave. The capture is the moment you commit to the sale.
2. What happens when the order is placed
The order is real from the start, but TitanCart treats it as not yet paid:
- It is placed in On Hold and shows under that tab in Sales → Orders.
- Its stock is reserved, exactly as for a paid order, so nobody else can buy the last unit while you decide. Voiding or a lapse returns it.
- The shopper’s cart is emptied and the thank-you page says “Your card has been authorised for $X” — the amount is reserved but not charged, and will be charged when the order is processed, with the date by which that has to happen. The same line appears on the order in their My Account.
- The customer receives an “order received” email that says the same thing. They do not receive the order confirmation yet; that goes out at capture.
- You receive the usual new-order email, once.
- Everything that waits on payment keeps waiting: the coupon is not used up, a digital gift card is not issued, reward points do not move, and integrations such as Printful or SMS notifications are not told. The order is not in Sales → Fulfillment‘s Needs Fulfillment queue either, because only Processing orders ship.
- The order’s Activity timeline records why it is On Hold, for example “Square payment … authorised, not yet captured — capture or void it from the Payment panel.”
3. The Payment card on the order page
Open the order from Sales → Orders. In the right-hand column, above Payment & Shipping, a card headed Payment lists every transaction TitanCart has recorded for the order — charge, authorisation, refund, void — with its amount, the gateway, the time and the gateway’s own transaction id. (This card appears on any order paid through a gateway, including Stripe and PayPal orders; it is the place to find a transaction number.)
While an authorisation is open the card opens with an amber banner:
- “Authorised $68.00 — not yet charged”, then “Capture to charge the card and move the order to Processing — the authorisation lapses <date>. Void releases the hold, cancels the order and returns its stock.”, and two buttons: Capture $68.00 and Void.
- For a payment Authorize.net is reviewing: “Held for review at Authorize.net”, an explanation that the gateway’s fraud filter is holding it, and the Void button only. Capture is hidden because Authorize.net refuses to capture a transaction its reviewer has not released; it reappears once the review is approved (section 6).
The transaction row itself reads authorisation · awaiting capture or authorisation · held for review, and becomes charge · completed after a capture or authorisation · voided after a void.
4. Capturing the payment
Click Capture. The confirmation window spells out what is about to happen; confirm it, and in one step:
- The card is charged the full authorised amount. (There is no partial capture; refund the difference afterwards if you need to charge less.)
- The order moves from On Hold to Processing. No status-change email is sent for that move; instead the customer receives their order confirmation, the same one a charged-at-checkout order gets.
- Everything that was waiting on payment now runs: the coupon is used, a digital gift card is issued and emailed, reward points move, integrations are told, and the order appears in the Needs Fulfillment queue.
- The Activity timeline gains “Payment … captured”, and the Payment card’s row flips to charge · completed.
The page confirms with “Payment captured. The order is now Processing and the customer has been sent their confirmation.” Capture is the moment to pick and ship.
Two things Capture handles for you. If the payment was already captured outside TitanCart — in the gateway’s own dashboard or by its API — Capture notices and completes the order without charging the card a second time. And if the gateway reports the authorisation is no longer capturable (it expired or was declined), the order is cancelled on the spot, its stock returned, and the banner tells you so.
5. Voiding the authorisation
Click Void when you will not fulfil the order — out of stock, the customer changed their mind, the order looks wrong. The confirmation window takes an optional reason, which is written on the order. On confirm:
- The hold on the card is released; the card is never charged.
- The order moves to Cancelled and the customer receives the Cancelled status email.
- The reserved stock returns to inventory (the built-in Cancelled status restores stock; see Managing orders).
- The Payment card shows the authorisation as voided plus a void row with the gateway’s reference.
Cancel Order in the Actions card does the same thing: on an order with an open authorisation it voids first, then cancels. If the gateway says the payment has already been captured, Void is refused with “Click Capture to complete the order, then refund it if needed” — money that has moved is returned with a refund, not a void.
6. Payments held for review (Authorize.net)
When one of Authorize.net’s fraud filters holds a transaction, the order waits On Hold with the Held for review banner and the shopper is told their payment is being reviewed and nothing has been charged. The decision is yours to make in the Merchant Interface, under Payments → Manage Transactions → Suspicious Transactions (Approve/Reject). TitanCart asks Authorize.net about the transaction once an hour — or hears about your decision within seconds, if the optional webhook described in Authorize.net setup is set up — and acts on it:
- Approved, Transaction Type = Authorize & Capture — the payment is captured by the approval, so the order completes itself: Processing, confirmation email, everything in section 4. No click needed.
- Approved, Transaction Type = Authorize Only — the payment becomes an ordinary authorisation. The order stays On Hold, the banner changes to Authorised … not yet charged, the Capture button appears, and the Activity timeline notes “The gateway’s review approved payment …”. Capture or void as in sections 4 and 5.
- Declined — the order is cancelled, the customer emailed, the stock returned.
Without the webhook, “within the hour” is literal: the check runs hourly and leaves very fresh orders alone for the first 15 minutes, so a decision made in the Merchant Interface shows up in TitanCart on the next run, not instantly. You can void a held payment from TitanCart at any point without waiting for the review.
7. The hourly check and the lapse
You do not have to watch authorised orders. Under Settings → General Settings → Order Automation, Keep checking authorised payments for (days) (31 by default) tells TitanCart how long to keep asking the gateway, once an hour, about every On Hold order with an open authorisation:
- If the gateway reports the payment captured — approved by its reviewer, or captured in its own dashboard — the order is completed exactly as a Capture from the order page would complete it.
- If it reports the payment declined, voided or expired, the order is cancelled, the customer emailed and the reserved stock returned. The timeline notes “The payment authorisation could not be completed; the card was not charged.”
- Otherwise the order simply keeps waiting for you.
With the Authorize.net webhook set up, those same outcomes arrive as they happen instead of on the hourly check, and a refund made in the Merchant Interface is recorded on the order as well (a full one moves the order to Refunded). Square has no webhook, so Square orders rely on the hourly check.
The lapse. Gateways do not hold a card forever: Square releases an uncaptured authorisation after 7 days, Authorize.net after 30. That date is the one shown on the Payment card’s banner and in the customer’s “order received” email. Once the gateway lets the hold go, the next hourly check reads it as expired and cancels the order; a Capture clicked after the lapse does the same. The default of 31 days covers both gateways, so an order can never sit On Hold indefinitely with money that is no longer held. If you shorten the setting below the gateway’s window, orders older than it are just no longer checked — the Payment card still works on them.
8. What you cannot do while the authorisation is open
- Change the status by hand. Update Status accepts only On Hold or Failed; anything else is refused with “This order’s payment is authorised but not yet captured. Capture or void it from the Payment panel first.” Choosing Cancelled is allowed and voids first.
- Refund. The Refund button is shown for On Hold orders, but there is no completed payment to refund yet, so it answers “No completed payment found for this order.” Use Void.
- Ship. The order is not in the Needs Fulfillment queue and cannot be added to a shipment until it is Processing — that is, until you capture.
- Capture part of the amount. Capture takes the whole authorisation; adjust with a partial refund afterwards.
Troubleshooting
- Card orders suddenly arrive On Hold with an amber banner. Square’s Capture Method is on Delayed capture, or Authorize.net’s Transaction Type is on Authorize Only. That is the feature working; switch the setting back if you would rather be paid at checkout. Orders already placed still need a Capture or Void each.
- There is a Void button but no Capture. The payment is held for review at Authorize.net. Approve it in the Merchant Interface; Capture appears (or the order completes itself) within the hour.
- Capture was refused and the order is now Cancelled. The gateway reported the authorisation expired or declined, so TitanCart closed the order and returned its stock. Ask the customer to place the order again.
- Capture says the gateway charged the card but the order could not be completed. The money has moved; the order-completion step failed on your site (System Logs has the reason). Click Capture again: TitanCart sees the payment is already captured and completes the order without a second charge.
- Void says the payment has already been captured. Someone captured it at the gateway. Click Capture to bring the order up to date, then refund it if you still want to cancel.
- I captured the payment in the Square or Authorize.net dashboard and TitanCart still says On Hold. The hourly check will complete it on its next run (not within the first 15 minutes of the order’s life); for Authorize.net the webhook makes it immediate. Clicking Capture completes it immediately without charging again.
- The customer says they never got a confirmation. At placement they receive the “order received — card authorised” email; the order confirmation is sent when you capture. If the capture went through, check Settings → General Settings → Emails and the mail log as for any other email.
- An old order says Processing but the money was never taken. It was placed on TitanCart 0.2.44 or earlier, which treated an authorisation as a payment. The Payment card lists the transaction but offers no Capture for it: capture it at the gateway before it lapses, or ask the customer to pay again. Orders placed on 0.2.45 or later wait On Hold instead.
See also
- Square setup — the Capture Method setting.
- Authorize.net setup — the Transaction Type setting and the fraud-filter hold.
- Managing orders — statuses, the Activity timeline, refunds and cancelling.
- Inventory & stock control — what “reserved stock” means for your quantities.
- Going live with payments — the sandbox-to-live switch for both gateways.