Understand how refunds work in commercetools InStore.
InStore supports two ways to handle returns and refunds:
- Delegated refunds: InStore initiates and manages the refund, then notifies your integration through webhooks. Your integration consumes these notifications and updates your own systems. Your payment processor reverses the original charge. Your integration does not post the refund to commercetools or call a refund-session API.
- InStore-managed refunds: you build refund processors similar to payment processors. InStore posts the refund to commercetools on your behalf using Custom Fields.
InStore processes returns and refunds through a refund session. A single return can span multiple tenders, such as the original payment method and a fallback tender. You can also define a fallback payment option to use when the original tender type is unavailable for a refund.
For delegated refunds, InStore creates and manages refund sessions internally as a store associate completes a return. Your payment processor integration does not call the refund-session API directly. Instead, it receives and handles the two webhook notifications described in Set up delegated refunds.
For an overview of payment types, payment processors, and payment options, see payment components overview.