Skip to main content
BLIK is a widely used mobile payment method in Poland. Customers request a six-digit code from their banking app and enter it into the payment collection form to authorize a payment. By default, BLIK is a single-use payment method — recurring use requires explicitly saving the payment method (see Recurring payments below).

Payment Method Details

Prerequisites

  1. Connect and activate the Stripe integration in PayNext
  2. Enable BLIK in your Stripe Dashboard under Settings → Payment methods
  3. Turn on BLIK in your PayNext checkout configuration
BLIK is available only for PLN payments for customers in Poland.

How it works

The customer selects BLIK at checkout, opens their banking app to generate a six-digit code, and enters it into the payment form. The bank then sends a push notification to the customer’s phone asking them to authorize the payment inside their banking app. The BLIK code is valid for 2 minutes, and the customer has about 60 seconds to authorize the payment after starting it. If the code expires before authorization, the customer must request a new one and retry. Customers typically approve BLIK payments in under 10 seconds.

Payment description in the banking app

You can show your own product or order description in the customer’s banking app when they confirm the BLIK payment. The text comes from your own metadata, so it can differ per payment.
1

Map the field on the Stripe integration

In Dashboard → Integrations → your Stripe integration → Metadata mapping, add a field:
  • Key: the metadata key you send (for example product_name)
  • Value: description
See Metadata mapping for the full configuration flow.
2

Send the text

Provide the value in customer or subscription metadata of the client session, or set it during processing with the Set Metadata node in a workflow.
The description is limited to 70 characters — longer text is truncated. A Set Metadata node whose key is exactly description is used as the description without any mapping. Payment-level client-session metadata is not read for this field, so put the value in customer or subscription metadata.
This is separate from the statement descriptor, which is what appears later on the customer’s bank statement.

Recurring payments

BLIK supports saving a customer’s payment method to charge them again later without asking for a new code each time.
Not all Polish banks support BLIK recurring payments. If a customer’s bank doesn’t support it, the payment is declined with the card_issuer_decline decline code and the do_not_try_again advice code, and the decline message reads: “The customer’s bank does not support BLIK Recurring. Please provide a code from a bank that has enabled BLIK Recurring.” Confirm bank coverage with your processor before relying on BLIK for subscriptions in a specific market segment.
Important limits for recurring BLIK:
  • only PLN is supported for recurring charges
  • each off-session recurring charge is capped at 2,000 PLN per charge
  • the customer approves both the initial payment and the recurring mandate in the same banking-app step — there is no separate “set up now, pay later” flow in PayNext’s integration

If the customer revokes the mandate

A customer can remove the saved BLIK payment method in their banking app, and a BLIK mandate can also expire. PayNext receives that from Stripe and sets the payment method status to deleted. A revoked payment method can’t be charged. Renewals stop being attempted—the aborted attempt is recorded as INCOMPLETE with decline_code payment_method_disabled—and the subscription stays past_due for 14 days before it is cancelled with reason dead_instrument. See Dead payment methods. Each change is reported by customer.payment_method.updated.

Settlement and timing

In the PayNext payment status flow, a BLIK payment stays PENDING while the customer authorizes it in their banking app, then moves to a final status once Stripe confirms the outcome via webhook.
Treat a BLIK payment as complete only once it reaches the succeeded status via webhook. A displayed “check your bank’s app” state is not itself a completed payment.

If the customer doesn’t complete payment

If the BLIK code expires, the authorization window passes, or the customer’s bank declines the payment (for example with card_issuer_decline on a recurring charge), the payment is marked as failed or incomplete. No charge is taken, and the customer can retry within the same checkout session.

Testing

1

Configure Stripe credentials

Use the correct Stripe environment in your PayNext integration and make sure BLIK is enabled for that account.
2

Create a BLIK payment

Start a BLIK payment via PayNext checkout using PLN for a customer in Poland.
3

Complete customer approval

Enter the six-digit code and authorize the payment in the banking app within the authorization window.
4

Verify the payment

Confirm the payment appears in the PayNext dashboard and that the final status is received via Stripe webhook.
5

Check the incomplete path

Start another payment and let the code expire, or decline it in the banking app. Confirm the payment is marked failed/incomplete and the same checkout session can be retried.
6

Verify recurring behavior

For recurring BLIK, confirm the mandate is set up correctly and that subsequent charges stay within the 2,000 PLN per-charge cap.

Notes

  • BLIK does not support manual capture.
  • BLIK transactions are always presented in PLN, regardless of where the customer or merchant is based.
  • Not all Polish banks support BLIK recurring payments — confirm support before enabling recurring BLIK for a customer segment.
  • Recurring off-session charges are capped at 2,000 PLN per charge.