About

BLIK is a popular payment method available on mobile banking applications in Poland. It allows users to pay online, at physical terminals, and between individuals, as well as withdraw cash from ATMs.

Region

Poland

Currencies

PLN

Refunds

Yes

Disputes

Yes

Preauthorization

No

Recurring payments

No

How it works

  1. On your app or website, the user selects BLIK as the payment method during checkout.
  2. The user opens their banking app where they find a six-digit code generated.
  3. The user copies the code and returns to your app or website.
  4. The user enters the code to validate the payment.
  5. The platform makes an API call with Code.
  6. The user is redirected to their banking app.
  7. The user enters their banking app PIN to confirm the payment.
  8. The user is returned to your app or website.

BLIK OneClick

BLIK then gives users the option to save the merchant (that is, your platform) so future payments can be processed without the temporary 6-digit code – this is known as BLIK OneClick.

There are two options to save a merchant:

  • Option 1: On the payment confirmation page, the user clicks Save the shop.
  • Option 2: After entering their card PIN, the user clicks Pay and save to simultaneously confirm the payment and save the merchant.

Once the merchant is saved, the user sees 2 buttons. They can choose the basic flow by clicking BLIK with code, or they can click BLIK without code to use OneClick.

The OneClick flow uses the POST Create a BLIK PayIn (without code) endpoint:

  1. On your app or website, the user selects BLIK without code during checkout.
  2. The user is redirected to their banking app.
  3. The user enters their card PIN to confirm the payment.

For more information, see the BLIK Level 0 + OneClick article on the BLIK documentation.

Hooks

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

You should also set up hook notifications for the relevant event types:

  • PAYIN_NORMAL_SUCCEEDED
  • PAYIN_NORMAL_FAILED