Skip to main content

BLIK

BLIK is a leading account-to-account payment method in Poland, used by over 90% of online shoppers. It allows shoppers to pay instantly through their banking apps by entering a secure 6-digit code or using a OneClick flow without any code entry.

Shopper entering BLIK codeShopper entering BLIK code

BLIK Code

The shopper enters a 6-digit code from their banking app. You send it to BLIK and the transaction is confirmed in seconds.

  • No login required
  • Familiar UX

Details

Country Poland
Currency PLN
Input6 digit code
Integrations Direct API

Capabilities

Refunds
Partial refunds
Multiple partial refunds
Final amount captured later
Multiple partial captures
Incremental authorizations
Disputes
Recurring payments
Split payments
Flow TypesImmediateRecurring

Flows

BLIK with Code / Onboarding

This flow works for ONE_TIME , RECURRING , and TOKEN_ONLY transaction types.

Steps

  1. Shopper selects BLIK and enters a 6-digit code from their bank app.
info

The code expires in 120 seconds.

  1. Merchant Initiates Payment with Nopan.
  2. Nopan initiates the payment with the BLIK gateway.
  3. BLIK sends a push notification to the shopper's bank.
  4. Shopper confirms the transaction in their banking app.
info

Shopper must take an action within 45 seconds.

  1. Nopan notifies merchant about transaction being completed.
  2. Alternatively merchant periodically checks for the status of transaction.

Integration

Send a POST /payments/initiate request to Nopan with the following format:

{
"processingAccountId": "merchant",
"clientTransactionId": "order123",
"returnUrl": "https://api.merchant.callback?ref=order123",
"transactionType": "ONE_TIME",
"paymentDetails": {
"amount": 100,
"currency": "PLN",
"country": "PL",
"description": "Product ID 1234 purchase"
},
"providerDetails": {
"providerId": "BLIK"
},
"payerDetails": {
"payerId": "payerUUID",
"oneTimeCode": "123456"
},
"requestContext": {
"ipAddress": "203.0.113.45",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"channel": "WEB",
"deviceId": "device-12345",
"locale": "pl-PL"
},
"metadata": {
"orderId": "12345",
"customerId": "cust-789",
"productCategory": "electronics"
}
}
tip

One time BLIK code is required.


BLIK Recurring

This flow works only with RECURRING transaction types.

Steps

  1. Merchant sends Nopan a Charge Request with either a payerId or a payment token.
  2. Nopan initiates a payment with Blik
  3. Nopan notifies merchant about transaction being completed.
  4. Alternatively merchant periodically checks for the status of transaction.

Integration

Send a POST /payments/charge request to Nopan with the following format:

{
"clientTransactionId": "order123",
"transactionType": "RECURRING",
"paymentDetails": {
"amount": 200,
"currency": "PLN",
"country": "PL",
"description": "Product ID 1234 purchase"
},
"providerDetails": {
"providerId": "BLIK"
},
"payerDetails": {
"payerId": "payerUUID",
"paymentToken": "paymentTokenUUID"
}
}
tip

paymentToken or payerId is required.


Testing

Leverage Nopan Mocking framework to test your Blik integration with Nopan or use these values to simulate payments in test mode:

BLIK Code (valid)999016
Expiration window45 seconds
Declined / no consentSimulate via test mode config

Error Codes

info

For a full list of Nopan error codes, see Error Handling.

BLIK Code
Nopan Reason Code
Description
Action
3001 – Invalid BLIK code / expired
4000
Invalid input
Fix Request
3002 – User declined in app
2001
Payer cancelled the payment.
Adjust Logic
3003 – Timeout
2000
Session expired.
Retry
3004 – Recurring not supported
8003
Operation not supported.
Adjust Logic

Requirements

  • Merchant must be registered in Poland.
  • Shopper must use a participating bank`s mobile app.
  • Recurring models require explicit shopper consent.

Learn More

Recurring Payments

BLIK supports recurring billing via three models:

Configuration
Model A
Model M
Model O
Manual Confirmation of each Transaction
N/A
Required
N/A
Amount
Fixed
Variable
Variable
Frequency
Fixed / Required
Variable / Fixed Optional
Variable by default
Expiration
Fixed Expiration
Indefinite
Indefinite
Blik/Banks Retries
Optional
Required
Optional

Learn more about differences in the recurring models on BLIK website.