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

# Payconiq

## About

Payconiq is a popular app-based payment method owned by the Bancontact Payconiq Group.

This guide concerns the <a href="/api-reference/payconiq/payconiq-payin-object">Payconiq pay-in</a> flow. See the <a href="/guides/payment-methods/bancontact">Bancontact</a> guide for more details about other Bancontact payment flows.

<table>
  <tbody>
    <tr>
      <th class="header">Region</th>

      <td class="table-content">
        Belgium, Luxembourg
      </td>
    </tr>

    <tr>
      <th class="header">Currencies</th>

      <td class="table-content">
        EUR
      </td>
    </tr>

    <tr>
      <th class="header">[Refunds](/guides/refunds)</th>

      <td class="table-content">
        Yes, within 365 days
      </td>
    </tr>

    <tr>
      <th class="header">[Disputes](/guides/disputes)</th>

      <td class="table-content">
        Yes
      </td>
    </tr>

    <tr>
      <th class="header">Preauthorization</th>

      <td class="table-content">
        No
      </td>
    </tr>

    <tr>
      <th class="header">Recurring payments</th>

      <td class="table-content">
        No
      </td>
    </tr>
  </tbody>
</table>

## Deprecation

<Warning>
  **Deprecated – Payconiq discontinued from Dec 4, 2025**

  Following its acquisition by the European Payments Initiative (EPI), the Payconiq brand and services are being phased out (<a href="https://www.payconiq.be/en/payconiq-evolves" target="_blank">read more</a> on Payconiq's website).

  The timeline is as follows:

  * Dec 4, 2025 - [Payconiq pay-ins](/api-reference/payconiq/create-payconiq-payin) attempted after **12:00 noon CET** will fail
  * Dec 31, 2025 - Final day for processing [pay-in refunds](/api-reference/refunds/create-refund-payin)
  * Jan 1, 2026 - Refunds possible using payouts ([see below](#refunds-from-jan-1,-2026))

  Platforms using Payconiq are invited to integrate [Bancontact](https://www.notion.so/guides/payment-methods/bancontact), which allows users to continue paying with their Payconiq by Bancontact mobile app via the `DeepLinkURL`.
</Warning>

### Refunds from Jan 1, 2026

To process a refund for a Payconiq pay-in from Jan 1, 2026, your platform must use a payout. This is the same process as for direct bank wire pay-ins and pay-ins to vIBANs.

You will need the user's bank details to register a bank account for them to receive the funds. The user does **not** need to be an `OWNER` (for `UserCategory`) or be KYC/KYB verified (`KYCLevel` can be `LIGHT`).

<Steps>
  <Step title="Fetch the initial pay-in">
    Call [GET View a PayIn](/api-reference/payconiq/view-payin-payconiq) to retrieve the initial pay-in.
  </Step>

  <Step title="Create a Recipient for the user">
    The next step is to register the user's bank account.

    You can call the [GET View the schema for a Recipient](/api-reference/recipients/view-recipient-schema) to obtain the format of the bank details and address that you need to get from the user.

    Before calling the Recipient creation endpoint, you are also recommended to validate the data by calling the [POST Validate data for a Recipient](/api-reference/recipients/validate-recipient-data) endpoint with the same request body.

    To register the user's bank account, call [POST Create a Recipient](/api-reference/recipients/create-recipient):

    * Use the user's bank details
    * Use the user's `Id` (which is the `AuthorId` of the pay-in) as the path parameter
    * Set the `RecipientScope` to `PAYIN`, which indicates that the Recipient will only be used for pay-in refunds and therefore doesn't require SCA

    If the user already has a Recipient registered with your platform, they can use that.
  </Step>

  <Step title="Initiate the payout">
    Call the [POST Create a Payout](/api-reference/payouts/create-payout) endpoint to initiate the refund, setting:

    * The user's `Id` as the `AuthorId`
    * The Recipient's `Id` as the `BankAccountId`
    * The `Id` of the initial pay-in as the `PaymentRef.ReferenceId` and setting `PaymentRef.ReasonType` to `PAYIN_REFUND`
  </Step>
</Steps>

## How it works

The <a href="/api-reference/payconiq/payconiq-payin-object">Payconiq pay-in</a> flow provides the following checkout experience:

<Steps>
  <Step title="User chooses payment method">
    On your app or website, the user selects Payconiq as the payment method
  </Step>

  <Step title="Redirection">
    On a website, you redirect the user to one of two pages to complete the payment:

    * Via the `RedirectURL`, to a hosted page showing the QR code and Payconiq by Bancontact branding and instructions.
    * To your payment page displaying the QR code available at the `QRCodeURL` value. You can lightly customize the color and format of this QR code (see below).

    In an app-to-app flow, you redirect the user to their Payconiq by Bancontact app via the `DeepLinkURL`, where they confirm and authenticate the payment.
  </Step>

  <Step title="Return">
    After payment, the user is returned to the `ReturnURL` that you specify in the payment request
  </Step>

  <Step title="Outcome">
    The transaction is complete when the pay-in status changes from `CREATED` to `SUCCEEDED` or `FAILED`, indicating the outcome.
  </Step>
</Steps>

## Hooks

You should also set up <a href="/webhooks">hook notifications</a> for the relevant <a href="/webhooks/event-types">event types</a>:

* PAYIN\_NORMAL\_SUCCEEDED
* PAYIN\_NORMAL\_FAILED

## QR code customization

You can customize the QR code’s format, size, and color by adding query parameters to the `QRCodeURL` before redirecting the user.

For example:

> r2/girogate.de/payconiq/qrcode?f=PNG?s=XL?cl=Black

The available options are:

<table>
  <thead>
    <tr>
      <th class="header">Parameter</th>
      <th class="header">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td class="table-content">
        `f`
      </td>

      <td class="table-content">
        The image format.

        **Allowed values:** `SVG`, `PNG`
      </td>
    </tr>

    <tr>
      <td class="table-content">
        `s`
      </td>

      <td class="table-content">
        If the format is `PNG`, the image size in pixels of the QR code to generate:

        * `S` = 180 x 180
        * `M` = 250 x 250
        * `L` = 400 x 400
        * `XL` = 800 x 800

        **Allowed values:** `S`, `M`, `L`, `XL`
      </td>
    </tr>

    <tr>
      <td class="table-content">
        `cl`
      </td>

      <td class="table-content">
        The color of the QR code.

        **Default value:** `magenta`

        **Allowed values:** `magenta`, `black`
      </td>
    </tr>
  </tbody>
</table>

## Legacy integrations

Payconiq was previously available from Mangopay at the following endpoint URL:

> /payins/payconiq/web

The legacy flow remains available for platforms with no changes required on their side. The new flow is identical to the old one with the exception of the `QRCodeURL`, which was not previously available.

## Related resources

<CardGroup col={2}>
  <Card title="Endpoint" href="/api-reference/payconiq/payconiq-payin-object">
    The Payconiq PayIn object
  </Card>

  <Card title="Testing" href="/testing/payment-methods">
    Learn about testing Payconiq
  </Card>
</CardGroup>
