Skip to main content

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.
RegionBelgium, Luxembourg
CurrenciesEUR
RefundsYes, within 365 days
DisputesYes
PreauthorizationNo
Recurring paymentsNo

Deprecation

Deprecated – Payconiq discontinued from Dec 4, 2025Following 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: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).
1

Fetch the initial pay-in

Call GET View a PayIn to retrieve the initial pay-in.
2

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 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.
3

Initiate the payout

Call the POST Create a 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

How it works

The Payconiq pay-in flow provides the following checkout experience:
1

User chooses payment method

On your app or website, the user selects Payconiq as the payment method
2

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.
3

Return

After payment, the user is returned to the ReturnURL that you specify in the payment request
4

Outcome

The transaction is complete when the pay-in status changes from CREATED to SUCCEEDED or FAILED, indicating the outcome.

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:
ParameterDescription
fThe image format.Allowed values: SVG, PNG
sIf 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
clThe color of the QR code.Default value: magentaAllowed values: magenta, black

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.