> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paynext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BLIK

> Accept BLIK payments through PayNext.

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](#recurring-payments) below).

## Payment Method Details

|                            |                                        |
| :------------------------- | :------------------------------------- |
| **Customer locations**     | Poland                                 |
| **Supported currencies**   | PLN only                               |
| **Recurrent payments**     | ✓ (subject to bank support, see below) |
| **Manual capture support** | ✗                                      |
| **Refunds**                | ✓                                      |
| **Supported processors**   | <Badge>Stripe</Badge>                  |

## Prerequisites

1. Connect and activate the [Stripe integration](/integrations/processors/stripe) in PayNext
2. Enable BLIK in your Stripe Dashboard under **Settings → Payment methods**
3. Turn on BLIK in your PayNext checkout configuration

<Warning>
  BLIK is available only for PLN payments for customers in Poland.
</Warning>

## 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.

<Steps>
  <Step title="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](/guides/advanced/metadata-mapping) for the full configuration flow.
  </Step>

  <Step title="Send the text">
    Provide the value in **customer** or **subscription** metadata of the [client session](/guides/advanced/metadata-mapping#client-session), or set it during processing with the **Set Metadata** node in a [workflow](/guides/platform/workflows#set-metadata).
  </Step>
</Steps>

<Note>
  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.
</Note>

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.

<Warning>
  **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.
</Warning>

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](/guides/use-cases/recover-subscriptions#dead-payment-methods).

Each change is reported by [`customer.payment_method.updated`](/webhooks/introduction/event-types#payment-method-events).

## Settlement and timing

In the PayNext [payment status flow](/guides/payments/lifecycle), 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.

<Note>
  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.
</Note>

## 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

<Steps>
  <Step title="Configure Stripe credentials">
    Use the correct Stripe environment in your PayNext integration and make sure BLIK is enabled for that account.
  </Step>

  <Step title="Create a BLIK payment">
    Start a BLIK payment via PayNext checkout using PLN for a customer in Poland.
  </Step>

  <Step title="Complete customer approval">
    Enter the six-digit code and authorize the payment in the banking app within the authorization window.
  </Step>

  <Step title="Verify the payment">
    Confirm the payment appears in the PayNext dashboard and that the final status is received via Stripe webhook.
  </Step>

  <Step title="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.
  </Step>

  <Step title="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.
  </Step>
</Steps>

## 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.
