New payment URLs
Following the decommissioning of the Payconiq brand in Belgium, these URL changes are essential to ensure compliance and
mark the final phase in aligning our branding with the new Bancontact Pro identity.

Please implement adaptations described here promptly to avoid service interruptions and guarantee the continued acceptance of mobile payments via Bancontact Pay and Wero.

Changes are already available in our pre-production environement and will be rolled out in production starting 11/05/2026

# Refunds

## Introduction

The Refund API enables merchants to issue full or partial refunds linked to `SUCCEEDED` payments.
Refunds are triggered from the merchant’s backend and are tracked using a merchant-generated reference.
To ensure a payment is not refunded multiple times Bancontact Company uses indempotency checks. It is important to:

* Keep the same indempotency key for refund retrys (failure code 4XX or 5XX)
* Change the indempotency key if you are deliberately issuing multiple refunds for a payment.


Refunds can be initiated, monitored, and supported through the set of endpoints defined below.

Succesfull refunds will be deducted from your ongoing settlement payout (bulk payout). If you have insufficient funds the refund will be refused.

> **Important Note**: the `getRefundIban`endpoint should be called unsing an API Key and does not require activation
in Bancontact Pro's backend. However, the `createRefund` endpoint requires a JSON Web Signature (JWS) and must be activated
by our Support Team in our backend. To activate this endpoint, please reach out to your Account Manager or to our Support Team at devsupport@bancontact.com


For the full endpoint documentation, please refer to the [Merchant Payment API](/apis/merchant-payment.openapi). for GET Refund Endpoint
and to [Refund API](/apis/refund-public.openapi) for CREATE Refund and GET Refund by ID endpoints.

For more information on Payouts and Remittance Information, please refer to [this guide](/guides/general/payoutremittance052025).

## Get Refund IBAN

Retrieve the IBAN of the consumer who made the original payment. This endpoint is useful for refund processing, validation, or audit logging purposes.

This request dos not handle any money flow, but will simply provide the debtor's data.

### Path Parameters

| Name | Type | Required | Description |
|  --- | --- | --- | --- |
| `paymentId` | string | Yes | The ID of the original Bancontact payment. |


### Response

### Error Codes

| HTTP Status | Code | Meaning |
|  --- | --- | --- |
| 401 | `UNAUTHORIZED` | API key is invalid or missing. |
| 403 | `ACCESS_DENIED` | Access token is invalid. |
| 422 | `REFUND_NOT_FOUND` or `REFUND_NOT_AVAILABLE` | The Payment is P2P or Debtor Details are not Available |
| 404 | `PAYMENT_NOT_FOUND` | No payment found for the specified ID. |
| 500 | `TECHNICAL_ERROR` | Internal error in the payment service. |


### Sample Request – `getRefundIban`

## Create Refund

Use this endpoint to initiate a refund linked to a completed Bancontact payment.

> ⚠️ The payment must be in `SUCCEEDED` status to be eligible for refund.


### 📦 Request Body

### 📥 Response

### 🔧 Error Codes for `createRefund`

### 🔍 Sample Request – `createRefund`