Refund Payment

Use this endpoint to refund funds from a previously captured payment.

You can refund payment methods that allow post-capture reimbursement — for example, Card and selected alternative payment methods such as Vipps or Wallet Service Providers. Availability and behavior depend on the configured acquirer and product setup.

Refund behavior is aligned with product guidelines and the capabilities of the underlying acquirer.


When to Refund

Use the Refund endpoint to return funds to a shopper after you have already captured a payment. Common scenarios include order cancellations, returned goods, pricing adjustments, or duplicate charges.

Refund applies when:

  • You have captured the payment (fully or partially)
  • The acquirer has collected the funds
  • You need to return part or all of those funds to the shopper

You cannot refund a payment before capture. To release funds before capture, use the Cancel endpoint instead.


Refundable Amount

The available refundable amount is calculated as:

Captured amount − Refunded amount

The requested refund amount must not exceed the available refundable amount.


Endpoint

POST /v1/{pspReference}/refund
  • {pspReference} is the unique identifier returned when the payment session was created.
  • The idempotency-key header is mandatory.

Full Refund

To refund the full available refundable amount, send the request without a body.

Example

POST /v1/{pspReference}/refund

If you omit the body, the system refunds the entire available refundable amount.


Partial Refund

To refund a partial amount, include an amountDetails object in the request body.

The requested amount must not exceed the available refundable amount.

Example

{
  "amountDetails": {
    "amount": 3000,
    "currency": "NOK"
  },
  "reference": "Customer returned one item"
}

Multiple Refunds

You can issue multiple partial refunds until the total refunded amount equals the captured amount.

Once the total refunded amount equals the captured amount, the payment status transitions to refunded.


Field Reference

Path Parameter

FieldTypeRequiredDescription
pspReferencestring (UUID v7)YesUnique payment identifier returned during session creation.

Request Headers

FieldTypeRequiredDescription
x-api-keystringYesAPI key assigned by Aera.
merchant-idstringYesMerchant ID assigned by Aera.
idempotency-keystring (UUID v7)YesUnique identifier for this refund request. Required for safe retries.
AuthorizationstringYesBearer <access token>
AcceptstringYesapplication/vnd.payments.v1+json
Content-TypestringYesapplication/vnd.payments.v1+json

Request Body

FieldTypeRequiredDescription
amountDetailsobjectNoRequired for partial refund. If omitted, the full refundable amount is refunded.
referencestringNoOptional free-text reference for reconciliation or audit purposes (e.g., return reason).

amountDetails

FieldTypeRequiredDescription
amountintegerYes (for partial refund)Amount to refund in minor units.
currencystring (ISO 4217)Yes (for partial refund)Currency code (for example, NOK).

Refund Response

A successful refund returns confirmation of the operation and updated payment status.

{
  "responseInfo": {
    "responseCode": "000",
    "responseText": "Refund successful"
  },
  "operationInfo": {
    "type": "REFUND",
    "status": "SUCCESS",
    "refundedAmount": {
      "amount": 3000,
      "currency": "NOK"
    }
  }
}

Important Notes

  • Refund is only possible after capture.
  • The refund amount must not exceed the available refundable amount.
  • Some payment methods may process refunds asynchronously.
  • Refund requests must include a valid idempotency-key.
  • Settlement timelines depend on the acquirer and card scheme rules.

What’s Next

Did this page help you?