v55

latestOpenAPI 3.1.0CC-BY-NC-SA-4.0raw.githubusercontent.com2026-08-011243791.8 MB
Refunds API

Create payment refund

Creates a refund for a specific payment. The refunded amount is credited to your customer usually either via a bank transfer or by refunding the amount to your customer's credit card.

post/v2/payments/{paymentId}/refunds

Headers

idempotency-keystring
Example:123e4567-e89b-12d3-a456-426

A unique key to ensure idempotent requests. This key should be a UUID v4 string.

Request body

resourcestring required

Indicates the response contains a refund object. Will always contain the string refund for this endpoint.

idstring required
mode'live' | 'test' required

Whether this entity was created in live mode or in test mode.

descriptionstring required

The description of the refund that may be shown to your customer, depending on the payment method used.

paymentIdstring required
settlementIdstring
status'queued' | 'pending' | 'processing' | 'refunded' | 'failed' | 'canceled' required
createdAtstring required

The entity's date and time of creation, in ISO 8601 format.

reverseRoutingboolean nullable

This feature is only available to marketplace operators.

With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the routing object during payment creation.

When creating refunds for these routed payments, by default the full amount is deducted from your balance.

If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to true when issuing a full refund.

For more fine-grained control and for partial refunds, use the routingReversals parameter instead.

testmodeboolean nullable

Whether to create the entity in test mode or live mode.

Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting testmode to true.

Example request

{
  "resource": "refund",
  "id": "re_5B8cwPMGnU",
  "mode": "live",
  "description": "Refunding a Chess Board",
  "amount": {
    "currency": "EUR",
    "value": "10.00"
  },
  "paymentId": "tr_5B8cwPMGnU",
  "settlementId": "stl_5B8cwPMGnU",
  "status": "queued",
  "createdAt": "2024-03-20T09:13:37+00:00",
  "externalReference": {
    "type": "acquirer-reference"
  },
  "routingReversals": [
    {
      "amount": {
        "currency": "EUR",
        "value": "10.00"
      },
      "source": {
        "type": "organization",
        "organizationId": "org_1234567"
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://...",
      "type": "application/hal+json"
    },
    "payment": {
      "href": "https://...",
      "type": "application/hal+json"
    },
    "settlement": {
      "href": "https://...",
      "type": "application/hal+json"
    },
    "documentation": {
      "href": "https://...",
      "type": "application/hal+json"
    }
  }
}

Response

The newly created refund object.