> ## Documentation Index
> Fetch the complete documentation index at: https://docs.natural.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> When building application code, use `@naturalpay/sdk` for TypeScript or `naturalpay` for Python.
> When operating Natural directly for a user, use the payments MCP at `https://mcp.natural.com`.
> When searching Natural documentation, use the docs MCP at `https://docs.natural.com/mcp`.
> Use the Natural CLI for terminal and CI automation.
> Use REST only for unsupported languages or when the user explicitly requests raw HTTP.
> Start integration development and testing in the sandbox. Do not use production unless the user explicitly requests it.
> For sandbox requests that require `customerPartyId`, list customers first. Reuse only the intended fixture; otherwise create a customer.
> REST and SDK amounts use integer minor units. Payments MCP amounts use decimal strings with a required currency code.

# Overview

> Return part or all of a card payment to the payer

<Note>
  Accept is in early access and subject to change. To request Accept access, contact [hi@natural.com](mailto:hi@natural.com).
</Note>

A refund (`rfd_*`) returns money to the card that paid. Create one with [`POST /refunds`](/api-reference/refunds/create-refund). Supply exactly one of `paymentIntentId` or `cardPaymentId`. An intent resolves to its successful card payment.

Set `amount` in US cents for a partial refund. Omit it to refund the full remaining amount. Retrying with the same idempotency key does not create another refund.

## Lifecycle

A refund starts `pending` and ends `succeeded` or `failed`. Success means the refund was processed. It does not confirm that the payer's bank has posted the credit. For failed refunds, `failure` contains the available reason.

Only one refund may be pending for a payment. A chargeback blocks refunds unless it is won.

## Access and history

Creating a refund requires `refunds.create`, which includes `refunds.read`. Use `customerPartyId` in the create body or as a query parameter for reads when acting for a customer.

Filter refunds by `paymentIntentId` or `cardPaymentId`. Each refund links to its payment, intent, and the party that received the original payment. `receiptUrl` links to the payment receipt.

See [Refund a card payment](/guides/accept/refund-a-card-payment) for request and error examples.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.