BLIK

Intro
In pilotBLIK is the most popular mobile payment method in Poland for online payments. It enables e-commerce payments, POS payments (including contactless payments), ATM cash withdrawals, and mobile P2P payments.
BLIK is linked to a bank account rather than a physical card. With 90% of Polish bank customers having access to BLIK through their banking apps, it offers a broad reach and convenience.
To complete a payment with BLIK, customers generate a unique 6-digit code within their banking app and enter it at checkout. They then confirm the transaction in their app, ensuring seamless and secure authentication without third-party involvement.
Integrating BLIK is simple and requires only a few additional properties in the request. Merchants can easily enable BLIK payments through hosted checkout solutions, plugins, or direct API integration.
Integration
Requirements
Merchant must have an Acceptance contract with Worldline e-commerce solutions:
• Merchant must have an Acquiring contract with WL Red (EU).
• Self-activation of payment method via Back Office or RB Merchant
Portal.
Hosted Checkout Page
For merchants using our Hosted Checkout Page, our secure payment page handles the BLIK payment interface for you. This approach eliminates the need to develop your own payment form and manage PCI compliance concerns.
Advantages of Using Hosted Payment Page for BLIK:
- Reduced development effort and time to market.
- No need to handle sensitive BLIK codes on your servers.
- PCI-compliant payment solution provided by us.
- Customizable look and feel to match your brand using our Template builder.
- Built-in handling payment status updates. Your customers see exact payment status updates in real-time and in natural language, to improve trust, transaction recovery and conversion rates.
Integration Steps for Hosted Payment Page
Create a Hosted Checkout
When your customer proceeds to checkout, initiate a hosted checkout session by calling our API. Add the following properties to a standard CreateHostedCheckout request:
{
"order":{
"amountOfMoney":{
"currencyCode":"PLN",
"amount":1700
},
"redirectPaymentMethodSpecificInput":{
"paymentProductId":3204,
"requiresApproval":false
}
}
Properties |
Remarks |
order.amountOfMoney |
amount : The gross amount you want to charge for this order. |
redirectPaymentMethodSpecificInput |
paymentProductId: The numeric identifier of the payment method on our platform. Find |
Process flows
Depending on your customers' device(s) used, the checkout flow for BLIK is the same:
With a desktop or a mobile device.
- Your customers finalise an order on their desktop or mobile browser in your shop and select BLIK as a payment method.
- You send this CreateHostedCheckout request to our platform.
- You redirect your customers on their desktop or mobile browser via the redirectUrl to our Hosted Checkout Page. Your customers type and enter the 6-digit BLIK code that is generated in their banking application.
- Your customers confirms the payment in their banking application.
- We receive the transaction result.
- We redirect your customers to your redirectUrl on their desktop or mobile browser.
- You request the transaction result from our platform via GetHostedCheckout or receive the result via webhooks.
- If the transaction was successful, you can deliver the goods / service.
Setting Up Webhooks for Payment Status Updates
For real-time updates on payment status changes, you should configure webhooks in your merchant account:
- Log in to the Merchant Portal.
- Navigate to Configuration > Technical settings > Webhook configuration.
- Configure a webhook endpoint URL that will receive payment status updates.
- Select the events you want to receive notifications for (e.g., "PAYMENT_STATUS_CHANGED").
Our platform will send webhook notifications to your endpoint whenever a payment status changes, allowing you to update your order status in real-time.
Integration Flow

Testing
Test Environment
Before going live, we advise you thoroughly test your BLIK integration in the test environment. You can test all scenarios including:
- Successful payment flows
- Refund processes
- Error scenarios
In the test environment, you'll need to use test BLIK codes provided below. Contact your account manager or our customer support for further support.
Test cases
Test case |
Description |
Expected Result |
Test code |
Successful payment |
Complete a payment with a valid test BLIK code |
Transaction completes successfully and order status updates accordingly |
999 000 |
Expired BLIK code |
Attempt payment with a BLIK code older than 2 minutes |
Transaction fails with appropriate error message.
“Incorrect BLIK code was entered. Please try again.” |
989 111
Note: This statement must be included in the test scenario. To replicate this behavior, set the merchant's website URL as 'mock' in the Backoffice (BO) and use the amount 48400 in the request (484.00 zloty). |
General error |
General scheme errors |
Transaction fails with appropriate error message. |
961 111 |
User declined |
The transaction authentication declined by the shopper in the banking app |
Transaction fails with appropriate error message. “Payment rejected in a banking application.”
|
934 111 |
Insufficient funds |
Attempt to pay with insufficient balance in the bank account |
Transaction fails with appropriate error message.
“Payment failed. Insufficient funds.”
|
960 111 |
Timeout |
The shopper did not authorize the payment within the 2-minute BLIK code expiry time |
Transaction fails with appropriate error message. "The payment was not confirmed in time. Please retry and confirm in your banking app promptly." |
989 111 |
Issuer declined |
The payment was declined by the shopper’s bank |
Transaction fails with appropriate error message. |
902 111 |
Going Live
Contact your account manager or our support team and request for BLIK payment method.
When going live, make sure to switch all API endpoints and credentials from test to production environment. Failing to do so will result in unsuccessful transactions.