# Payment link update

## Why is this update happening?

This URL update marks the final phase in aligning our branding with the new Bancontact Pro identity.

Following the decommissioning of the Payconiq brand in Belgium, these changes are essential to ensure compliance. Please implement the necessary adaptations promptly to avoid service interruptions and guarantee the continued acceptance of mobile payments via Bancontact Pay and Wero.

For further information about this update or the instructions below, please reach out to our Dev Support Team at devsupport@bancontact.com

## What is being updated?

For **dynamic payments** with single-usage QR codes generated over our API, the changes will be the following:

| Impacted URL | Before | After |
|  --- | --- | --- |
| **_links.qrcode.href** | https://qrcodegenerator.bancontact.net/qrcode?
c=https://**payconiq.com**/pay/2/(transactionID) | https://qrcodegenerator.api.bancontact.net/qrcode?
c=https://**pay.bancontact.net**/pay/2/(transactionID) |
| **_links.deeplink.href** | https://**payconiq.com**/pay/2/(transactionID) | https://**pay.bancontact.net**/pay/2/(transactionID) |


br
For **static QR, invoice and on a receipt** the change will be the following:

| Before | After |
|  --- | --- |
| https://**payconiq.com**/t/1/(PPID)?D=(Description)&A=(Amount)&R=(Reference) | https://**pay.bancontact.net**/t/1/(PPID)?D=(Description)&A=(Amount)&R=(Reference) |


br
As part of this update, we will similarly be updating our **checkout page** in order to further improve M-Commerce (app-to-app) flow and reduce redirection errors. The change will be the following:

| Before | After |
|  --- | --- |
| https://**checkout.bancontact.net**/?(...) | https://**pay.bancontact.net**/?(...) |


br
This update is already available for testing purposes in our pre-production environement, and will be ***released in production from 11/05/2026***

Important note
For the time being the URLs sent by our API in pre-production will all be pay.**acc**.banconcat.net(...) and not pay.preprod.bancontact.net(...)

## What changes for you?

This update does not impact our endpoints or our API version and should hence not require any major API upgrades on your end. Detailed changes by integration type can be found in the document below.

### On a Display

If you are using our [On a Display](/guides/instore/ondisplay052025v4) integration to generate a unique payment QR code and display on your cash register system or a consumer-facing screen, you will notice a change in the URL received in ***"_links"."qrcode"."href"***

| Before | After |
|  --- | --- |
| https://qrcodegenerator.api.bancontact.net/qrcode?
c=https://***payconiq.com***/pay/2/txxengaql27rk7ct554x1lk6
 | https://qrcodegenerator.api.bancontact.net/qrcode?
c=https://***pay.bancontact.net***/pay/2/txxengaql27rk7ct554x1lk6
 |


br
As this change does not impact the generator, but only it's parameters (c=), this update should not have any impact over your integration. However, we recommend to use our pre-production environement to validate the changes on your end.

### Online Sales

If you are using our [Online Sales](/guides/online/onlinesales) integration to propose E-Commerce or M-Commerce payments, you will notice a change in the URLs received in the following links

#### "_links"."qrcode"."href"

| Before | After |
|  --- | --- |
| https://qrcodegenerator.api.bancontact.net/qrcode?
c=https://***payconiq.com***/pay/2/txxengaql27rk7ct554x1lk6 | https://qrcodegenerator.api.bancontact.net/qrcode?
c=https://***pay.bancontact.net***/pay/2/txxengaql27rk7ct554x1lk6 |


#### "_links"."deeplink"."href"

| Before | After |
|  --- | --- |
| https://**payconiq.com**/pay/2/(transactionID) | https://**pay.bancontact.net**/pay/2/(transactionID) |


#### "_links"."checkout"."href"

| Before | After |
|  --- | --- |
| https://**checkout.bancontact.net**/?checkoutApi=https(...) | https://**pay.bancontact.net**/?checkoutApi=https(...) |


br
This update may require you to **update your firewall/security settings to ensure your website and/or application allow opening and/or redirection to the new deeplink and checkout URLs**. We recommend to use our pre-production environement to validate the changes on your end.

### On a Receipt or Top-Up

If you are using [On a Receipt](/guides/instore/receipt052025v4) or [TopUp](/guides/online/topup052025v4) to print fixed QR codes, you will need to make sure to update your URLs to **stop using payconiq.com and instead move to pay.bancontact.net following the steps indicated below**

table
thead
tr
th
Activity
th
Comment
tbody
tr
td
strong
1.
 Obtain the pre-requisite information
td

        • Format of the QR code.
br

        • Size of the QR code.
br

        • Template URL scheme.
br

        • Product profile ID of the merchant.
br

        • Amount of the QR code.
br

        • Description of the QR code.
br

        • Reference of the QR code.
      
tr
td
strong
2.
 Build the service URL
td

        Optional parameters include:
br

        • Image format (PNG or SVG)
br

        • Image size (S, M, L, XL – PNG only)
br
br

        Sample format:
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f={imageFormat}
&
s={ImageSize}
&
c=
br
br

        Example Output URL (PNG):
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f=PNG
&
s=L
&
c=
br
br

        Sample URL (SVG):
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f=SVG
&
c=
tr
td
strong
3.
 UTF-8 encode URL parameters
td

        Encode the following using UTF-8:
br

        • Description
br

        • Amount
br

        • Reference
br
br

        Unencoded parameters:
br
code
D=Receipt Payment
br
code
A=1000
br
code
R=sd89sd91?sd9
br
br

        Encoded parameters:
br
code
D=Receipt%20Payment
br
code
A=1000
br
code
R=sd89sd91%3Fsd9
tr
td
strong
4.
 Build the URL payload
td

        Format:
br
code
https://pay.bancontact.net/t/1/{productProfileId}?D={Enc_description}
&
A={Enc_amount}
&
R={Enc_reference}
br
br

        Example:
br
code
https://pay.bancontact.net/t/1/5c18cbd1296e9a26d3278518?D=Receipt%20Payment
&
A=1000
&
R=sd89sd91%3Fsd9
tr
td
strong
5.
 UTF-8 encode the URL payload
td

        Before Encoding:
br
code
https://pay.bancontact.net/t/1/5c18cbd1296e9a26d3278518?D=Receipt%20Payment
&
A=1000
&
R=sd89sd91%3Fsd9
br
br

        After Encoding:
br
code
https%3A%2F%2Fpay.bancontact.net%2Ft%2F1%2F5c18cbd1296e9a26d3278518%3FD%3DReceipt%2520Payment%26A%3D1000%26R%3Dsd89sd91%253Fsd9
tr
td
strong
6.
 Combine service URL and encoded payload
td

        Full URL:
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f=PNG
&
s=XL
&
c=https%3A%2F%2Fpay.bancontact.net%2Ft%2F1%2F5c18cbd1296e9a26d3278518%3FD%3DReceipt%2520Payment%26A%3D1000%26R%3Dsd89sd91%253Fsd9
You can now execute the URL in a web view to obtain your QR Code and print it on the medium of your choice.

Important
If you have printed QR codes generated using the old www.payconiq.com URLs, the QR codes will remain valid until 15/06/2026. After that date, the QR codes may cease to work.

### Static QR

If you are using [Static QR](/guides/instore/staticqr052025v4) and have a QR Code printed next to your cash register, you will need to make sure to update your URLs to **stop using payconiq.com and instead move to pay.bancontact.net following the steps indicated below**

table
thead
tr
th
Activity
th
Comment
tbody
tr
td
strong
1.
 Obtain the pre-requisite information
td

        • Format of the QR code.
br

        • Size of the QR code.
br

        • Location URL scheme.
br

        • Payment profile ID of the merchant.
br

        • POS ID.
      
tr
td
strong
2.
 Build the service URL
td

        Sample format:
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f={imageFormat}&s={ImageSize}&c=
br
br

        Example Output URL (PNG):
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f=PNG&s=L&c=
br
br

        Sample URL (SVG):
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f=SVG&c=
tr
td
strong
3.
 UTF-8 encode URL parameters
td

        Encode the following using UTF-8:
br

        • POS ID
br
br

        Unencoded POS ID:
br
code
POS00001
br
br

        Encoded POS ID:
br
code
POS00001
tr
td
strong
4.
 Build the URL payload
td

        Format:
br
code
https://pay.bancontact.net/l/1/{PaymentProfileId}/{POSId}
br
br

        Example:
br
code
https://pay.bancontact.net/l/1/5bb37284e35e2b29e363df22/POS00001
tr
td
strong
5.
 UTF-8 encode the URL payload
td

        Before Encoding:
br
code
https://pay.bancontact.net/l/1/5bb37284e35e2b29e363df22/POS00001
br
br

        After Encoding:
br
code
https%3A%2F%2Fpay.bancontact.net%2Fl%2F1%2F5bb37284e35e2b29e363df22%2FPOS00001
tr
td
strong
6.
 Combine service URL and encoded payload
td

        Full URL:
br
code
https://qrcodegenerator.api.bancontact.net/qrcode?f=PNG&s=XL&c=https%3A%2F%2Fpay.bancontact.net%2Fl%2F1%2F5bb37284e35e2b29e363df22%2FPOS00001
You can now execute the URL in a web view to obtain your Static QR Code and print it on the medium of your choice.

Important
If you have printed QR codes generated using the old www.payconiq.com URLs, the QR codes will remain valid until 15/06/2026. After that date, the QR codes may cease to work.