Buy Now Pay Later
Consumer Journey
BLIK Buy Now Pay Later (BNPL) follows a similar flow as the BLIK Redirect flow. There are two main flows for BLIK BNPL, depending on whether the consumer is choosing BLIK BNPL for the first time, or they have used BLIK BNPL before:
New Consumer
In this flow, the consumer is using BLIK Buy Now Pay Later for the first time, and they need to agree with their bank terms and conditions for the BNPL product:
- The consumer picks BLIK BNPL as their payment method in the shop
- The consumer is redirected to BLIK's hosted payment page.
- The consumer launches their bank app on their mobile device. When the bank app launches, it displays a six-digit BLIK payment code. This code is valid for two minutes.
- The consumer enters the six digit code into the field on BLIK's hosted payment page. When the code is accepted, the consumer is redirected to the issuing bank's terms and conditions page.
- The consumer agrees to transfer personal data within the personal banking application.
- BLIK verifies the consumer through the issuing bank and establishes the credit limit.
- The consumer agrees to the terms and executes the first payment with Buy Now Pay Later.
- The consumer is returned to the merchant's website and sees a transaction successful message on the merchant side.
Returning Consumer
In this flow, the agreement with the personal bank on the terms of Buy Now Pay Later is established:
- On the merchant's website, the consumer chooses BLIK BNPL as the payment method.
- The consumer is redirected to BLIK's hosted payment page.
- The consumer launches their bank app on their mobile device. When the bank app launches, it displays a six-digit BLIK payment code. This code is valid for two minutes.
- The consumer enters the six digit code into the field on BLIK's hosted payment page. When the code is accepted, the consumer is returned to the merchant's website and sees a transaction successful message on the merchant side.
Make a BLIK Buy Now Pay Later payment
BLIK_BNPL payments follow our standardized REDIRECT
payment flow. Enabling your consumers to provide the 6-digit BLIK code on your website or in-store experience.
To create a BLIK payment, you'll need to provide the following data at minimum when calling our payment charges API:
Field | Description |
---|---|
paymentMethod | BLIK_BNPL |
amount.value | The amount to be paid in the smallest units of the currency used. |
amount.currency | PLN |
consumer.name | Full name of the consumer. |
consumer.country | The country where the consumer is shopping. |
authenticationSettings: REDIRECT settings.returnUrl | Add the URL where the consumer should be redirected after they complete the payment. Required for the REDIRECT flow. |
Request
POST /v1/payment-charges
{
"paymentMethod": "BLIK_BNPL",
"amount": {
"value": 100,
"currency": "PLN"
},
"consumer": {
"name": "John Smith",
"country": "PL"
},
"authenticationSettings": [
{
"type": "REDIRECT",
"settings": {
"returnUrl": "https://www.ppro.com/"
}
}
]
}
Response
You'll receive our standard payment charge response with the available authentication methods:
{
"id": "charge_d3PU9htTLOQ2IXSTC988C",
"paymentMethod": "BLIK_BNPL",
"paymentMedium": "ECOMMERCE",
"scheduleType": "UNSCHEDULED",
"instrumentId": "instr_uEAndU61oZPHWLVMTM3n8",
"currency": "PLN",
"country": "PL",
"status": "AUTHENTICATION_PENDING",
"consumer": {
"name": "John Smith",
"country": "PL"
},
"authenticationMethods": [
{
"details": {
"requestUrl": "https://redirection-target.ppro.com",
"requestMethod": "POST"
},
"type": "REDIRECT"
}
],
"authorizations": [
{
"id": "authz_2ZNLCGfjJ03xA6Z1tBnnt",
"amount": 100,
"status": "AUTHENTICATION_PENDING",
"createdAt": "2025-09-05T08:33:10.425Z",
"updatedAt": "2025-09-05T08:33:10.425Z"
}
],
"captures": [],
"refunds": [],
"voids": [],
"createdAt": "2025-09-05T08:33:10.094Z",
"updatedAt": "2025-09-05T08:33:10.425Z",
"_links": {
"authorizations": {
"href": "/v1/payment-charges/charge_d3PU9htTLOQ2IXSTC988C/authorizations"
},
"captures": {
"href": "/v1/payment-charges/charge_d3PU9htTLOQ2IXSTC988C/captures"
},
"refunds": {
"href": "/v1/payment-charges/charge_d3PU9htTLOQ2IXSTC988C/refunds"
},
"voids": {
"href": "/v1/payment-charges/charge_d3PU9htTLOQ2IXSTC988C/voids"
}
}
}
Pick the desired authentication method
REDIRECT
- Redirect your consumer to the returned
$.authenticationMethods[?(@.type == "REDIRECT")].details.requestUrl
.
For example, with the value ofhttps://redirection-target.ppro.com/
using the returned$.authenticationMethods[?(@.type == "REDIRECT")].details.requestMethod
HTTP method. - The consumer will be presented with the reference number and instructions to complete the payment.
Handling the payment result
REDIRECT
- After the consumer completes the payment, they are redirected to the
returnUrl
specified in the payment charge creation request. - Upon redirect back to your site, retrieve the latest payment status by performing a GET /v1/payment-charges/{paymentChargeId}. Use the returned
status
field to determine and display the final payment outcome to the consumer. - Additionally, webhooks are triggered to notify you of the payment result. This ensures you receive the outcome even if the consumer closes their browser or fails to return to your website.
Payment instrument
A PASSTHROUGH_WALLET
instrument will be created for BLIK, with no additional data provided.
Request
GET /v1/payment-instruments/{instrument-id}
Response
{
"id": "instr_K7WokqNcs416KSlLPFo2i",
"type": "PASSTHROUGH_WALLET"
}
Sandbox testing
On the sandbox environment, use the code 777nnn
to simulate a successful payment.
Updated about 11 hours ago