Payconiq
About
Payconiq is a popular app-based payment method owned by the Bancontact Payconiq Group.
This guide concerns the Payconiq pay-in flow. See the Bancontact guide for more details about other Bancontact payment flows.
Deprecation
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 (read more on Payconiq’s website).
The timeline is as follows:
- Dec 4, 2025 - Payconiq pay-ins attempted after 12:00 noon CET will fail
- Dec 31, 2025 - Final day for processing pay-in refunds
- Jan 1, 2026 - Refunds possible using payouts (see below)
Platforms using Payconiq are invited to integrate Bancontact, which allows users to continue paying with their Payconiq by Bancontact mobile app via the DeepLinkURL.
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).
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 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 endpoint with the same request body.
To register the user’s bank account, call POST Create a Recipient:
- Use the user’s bank details
- Use the user’s
Id(which is theAuthorIdof the pay-in) as the path parameter - Set the
RecipientScopetoPAYIN, 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.
Initiate the payout
Call the POST Create a Payout endpoint to initiate the refund, setting:
- The user’s
Idas theAuthorId - The Recipient’s
Idas theBankAccountId - The
Idof the initial pay-in as thePaymentRef.ReferenceIdand settingPaymentRef.ReasonTypetoPAYIN_REFUND
How it works
The Payconiq pay-in flow provides the following checkout experience:
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
QRCodeURLvalue. 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.
Hooks
You should also set up hook notifications for the relevant event types:
- 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:
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.