# Handle orders from agents

Fulfill orders, capture payments later, and handle refunds and disputes.

When an agent completes an order, Stripe sends a `checkout.session.completed` event to your endpoint. Verify webhook signatures to confirm that events come from Stripe. See [verify events](https://docs.stripe.com/webhooks.md#verify-events). You can also monitor orders in the Dashboard or process them in batches. To set up fulfillment, see [Respond to purchases and fulfill orders](https://docs.stripe.com/agentic-commerce/sellers/use-cases/retail/checkout.md#fulfill-orders).

## Set up manual capture 

By default, Stripe captures payments immediately after purchase. To capture agentic payments later, open the [Agentic commerce settings](https://dashboard.stripe.com/settings/agentic-commerce) page in the Dashboard and set capture mode to manual. When you enable manual capture, call the `capture` method on the `PaymentIntent`:

```curl
curl -X POST https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}}/capture \
  -u "<<YOUR_SECRET_KEY>>:"
```

## Handle refunds and disputes 

If a customer cancels the order on your website or through customer service after checkout succeeds, initiate a refund. If you already use the Checkout Sessions API or Payment Intents API, your existing refund flow works without changes for agentic checkouts. Manage refunds and disputes on the [Transactions page](https://dashboard.stripe.com/payments) in the Dashboard, or use the [Refunds API](https://docs.stripe.com/api/refunds.md) to handle cancellations and refunds programmatically. To respond to a dispute, see [Respond to disputes](https://docs.stripe.com/disputes/responding.md).
