Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment methods
Add payment methods
    Overview
    Payment method integration options
    Manage default payment methods in the Dashboard
    Payment method types
    Cards
    Pay with Stripe balance
    Crypto
    Bank debits
    Bank redirects
      Bancontact
      BLIK
        Accept a payment
      EPS
      FPX
      iDEAL
      Przelewy24
      SOFORT
      TWINT
      Wero
    Bank transfers
    Credit transfers (Sources)
    Buy now, pay later
    Real-time payments
    Vouchers
    Wallets
    Enable local payment methods by country
    Custom payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Handle multiple currencies
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Beyond payments
Incorporate your company
Crypto
Financial Connections
Climate
Understand fraud
Radar fraud protection
Manage disputes
Verify identities
HomePaymentsAdd payment methodsBank redirectsBLIK

BLIK payments

Learn how to accept BLIK, a common payment method in Poland.

Caution

Stripe automatically presents your customers payment method options by evaluating their currency, payment method restrictions, and other parameters. We recommend that you configure your payment methods from the Stripe Dashboard using the instructions in Accept a payment.

If you want to continue manually configure the payment methods you present to your customers with Checkout, use this guide. Otherwise, update your integration to configure payment methods in the Dashboard.

BLIK is a single use payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form.

The bank sends a push notification to your customer’s mobile phone asking to authorize the payment inside their banking application. The BLIK code is valid for 2 minutes; customers have 60 seconds to authorize the payment after starting a payment. After 60 seconds, it times out and they must request a new BLIK code. Customers typically approve BLIK payments in less than 10 seconds.

Determine compatibility

Supported business locations: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GR, HR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK

Supported currencies: pln

Presentment currencies: pln

Payment mode: Yes

Setup mode: Not yet

Subscription mode: Not yet

A Checkout Session must satisfy all of the following conditions to support BLIK payments:

  • Prices for all line items must be expressed in Złoty (currency code pln).

Accept a payment

Note

This guide builds on the foundational accept a payment Checkout integration.

Use this guide to learn how to enable BLIK—it shows the differences between accepting a card payment and using BLIK.

Enable BLIK as a payment method

When creating a new Checkout Session, you need to:

  1. Add blik to the list of payment_method_types.
  2. Make sure all your line_items use the pln currency.
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Stripe::Checkout::Session.create({ mode: 'payment', payment_method_types: ['card'], payment_method_types: ['card', 'blik'], line_items: [{ price_data: { currency: 'usd', # To accept `blik`, all line items must have currency: pln currency: 'pln', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', })

What customers see

Inside their Banking app, customers see four lines related to each BLIK transaction:

  • If you provided a value for description when creating the PaymentIntent, the first two lines display it (max 70 characters).
  • If you provided a value for statement_descriptor (typically, an order ID), line 3 displays it (max 22 characters).
  • The fourth line automatically populates with the URL of your website.

Fulfill your orders

After accepting a payment, learn how to fulfill orders.

Test your integration

When testing your Checkout integration, select BLIK as the payment method and click the Pay button.

Use a sandbox to test a successful payment by entering any 6-digit code (such as 123456) in the payment form.

Handle refunds and disputes

The refund period for BLIK is up to 13 months after the original payment.

Customers can dispute a payment through their bank up to 13 months after the original payment and there’s no appeal process.

Learn more about BLIK disputes.

OptionalSimulate failures in a sandbox

BLIK payments can fail for different reasons. There are immediate failures (for example, the code is expired or invalid), delayed errors (the bank declines) or timeouts (the customer did not respond in time). You can simulate each failure scenarios by passing email values matching certain patterns (documented below) when creating the PaymentIntent, as part of the billing details, with any 6-digit as BLIK code.

You can enter the email in the contact information section of the Checkout page.

Immediate Failures

Failure codeExplanationEmail pattern
payment_method_invalid_parameterThe code passed wasn’t a valid BLIK code..*invalid_code@.*
payment_method_invalid_parameterThe code passed has expired. BLIK codes expire after 2 minutes, please request another code from the customer..*expired_code@.*

Declines (8 second delay)

Failure codeExplanationEmail pattern
payment_method_provider_declineThe payment has been declined because the payment limit on this bank account has been reached..*limit_exceeded@.*
payment_method_provider_declineThe bank account has insufficient funds to complete the purchase..*insufficient_funds@.*
payment_method_provider_declineThe customer declined this payment..*customer_declined@.*
payment_method_provider_declineThe payment has been declined by the customer’s bank for an unknown reason..*bank_declined@.*
payment_method_provider_declineThe payment has been declined for an unknown reason..*blik_declined@.*

Timeouts (60 second delay)

Failure codeExplanationEmail pattern
payment_method_provider_timeoutThe customer didn’t approve this payment within the allocated 60 seconds..*customer_timeout@.*
payment_method_provider_timeoutThe request to the customer’s bank timed out..*bank_timeout@.*
payment_method_provider_timeoutThe request to the BLIK network timed out..*blik_timeout@.*

See also

  • More about BLIK
  • Checkout fulfillment
  • Customizing Checkout
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc