Search Overlay

BLIK via Skrill Quick Checkout

BLIK is a mobile payment method in Poland that allows consumers to pay online or transfer money using their bank’s mobile app. Consumers register for BLIK through a participating Polish bank and authenticate payments via their mobile banking app. Consumers can then make payments by entering a one-time BLIK code or by confirming the transaction directly in their banking app, without needing to use a debit or credit card.

BLIK at a glance

Payment type

Bank transfer

Consumer markets

Poland

Currencies
  • Consumer currency:  PLN
  • Processing currency:  PLN
Transaction types
  • Payments:  YES
  • Payouts:  NO
  • Refunds:  YES
  • Partial refunds:  NO
  • Chargebacks/ reversals:  NO
  • Recurring payments:  NO
Limits

2000 PLN per transaction

Guarantee YES (optional)
Reporting You can review your transactions in the Skrill Merchant Portal.
Funding For all payments, Paysafe settles the net amount (payments - fees) directly to your bank account.
Supported languages EN, PL
Dynamic descriptor NO

Prerequisites

To create accounts in both the sandbox and production environments, we need the following details:

  • Your Skrill Pay to email address.

  • Your Skrill account API/MQI password.

NOTE: To offer BLIK, you must be onboarded with Skrill.

Integration options

We offer the following integration options for BLIK:

Payments API:  YES

Paysafe Checkout:  NO

Paysafe JS:  NO

Skrill Quick Checkout:  YES

Best practice

We recommend that you follow this best practice:

  • Use a webhook or query so that you always know the latest status - for example, you cannot rely on the consumer returning to your website as some consumers may close their browser.

Use case 1: Payments

This use case enables your consumer to choose BLIK as a payment option on your webstore and to make a payment.

Implementation

Call the following endpoints in sequence:

  1. /paymenthub/v1/paymenthandles

    Initializes the payment process and provides you with a URL to redirect the consumer.

    Redirect the consumer to the provided URL so that they can complete the payment using a one-time BLIK code or by confirming the transaction directly in their banking app.

  2. /paymenthub/v1/payments
    Call the payments endpoint to complete the payment within 15 minutes - after this, the payment handle expires.

NOTE: For code examples and detailed explanations of the parameters, refer to the Payments API Reference.

STEP 1: Call paymenthandles

  • Call endpoint /paymenthub/v1/paymenthandles

    • transactionType:  PAYMENT
    • paymentType:  BLIK
  • Pass the required parameters in the profile object.

  • Paysafe creates a payment handle and returns our standard gateway response, indicating either a positive or negative outcome.

    Happy path: consumer initiates payment

    Outcome Paysafe
    HTTP
    Status Code
    LPM Error
    Code/ Message
    Can be
    simulated?
    How to
    simulate?
    Payment
    handle
    status
    Next
    action
    The consumer
    initiates a payment
    request.

    201

     

    YES

    Pass INTERNAL
    as the simulator
    field value in your
    request header.

    INITIATED

    Go to step 2 to
    redirect and
    complete the
    payment.

  • The payment handle status depends on the outcome of the request:

    • For positive scenarios, the payment handle is created with status INITIATED.
    • For negative scenarios, the payment handle is created with status FAILED.

STEP 2: Redirect consumer

  • Redirect the consumer to the URL provided in the payment handle response.

    • The payment handle status changes to PROCESSING.
  • The consumer completes the transaction using a one-time BLIK code or by confirming it directly in their banking app.

    • The payment handle status changes to PAYABLE.
  • Paysafe returns our standard gateway response, indicating either a positive or negative outcome:

    Happy path: the payment was successful

    Outcome Paysafe
    HTTP
    Status Code
    LPM Error
    Code/ Message
    Can be
    simulated?
    How to
    simulate?
    Payment
    handle
    status
    Next
    action
    The payment
    is authorized.

     

     

    YES

    Pass INTERNAL
    as the simulator
    field value in your
    request header.

    Select COMPLETED
    in the payment
    status dropdown.

    PAYABLE

    Go to step 3 to
    process the
    payment.

    Unhappy path: the payment was declined by Skrill's provider/ internal fraud engine

    Outcome Paysafe
    HTTP
    Status Code
    LPM Error
    Code/ Message
    Can be
    simulated?
    How to
    simulate?
    Payment
    handle
    status
    Next
    action
    The payment
    is declined
    i.e. it fails.

     

     

    YES

    Pass INTERNAL
    as the simulator
    field value in your
    request header.

    Select FAILED
    in the payment
    status
    dropdown.

    FAILED

     

  • The payment handle status depends on the outcome:

    • For positive scenarios, the status changes to PAYABLE.
    • For negative scenarios, the status changes to FAILED.

STEP 3: Call payments

  • Call endpoint /paymenthub/v1/payments using the paymentHandleToken.

  • Paysafe returns our standard gateway response, indicating either a positive or negative outcome:

    Happy path: the payment is successfully submitted

    Outcome Paysafe
    HTTP
    Status Code
    LPM Error
    Code/ Message
    Can be
    simulated?
    How to
    simulate?
    Payment
    handle
    status
    Next
    action
    The payment
    is completed.

    201

     

    YES

    Pass INTERNAL
    as the simulator
    field value in your
    request header.

    Select COMPLETED
    in the payment
    status dropdown.

    COMPLETED

     

  • The payment status depends on the outcome of the request:

    • For positive scenarios, the status changes to COMPLETED.
    • For negative scenarios, the status changes to FAILED.
    • For negative scenarios where the token expires after 15 minutes, the status changes to EXPIRED.

Webhooks

You receive a webhook when the payment handle status or payment status changes. You can also look up the status by executing a GET payment handle or GET payment call.

Payment handle status Payment status Event

PROCESSING

-

The consumer has been redirected to the redirection link.

PAYABLE

 -

The consumer successfully authorized the transaction using a one-time BLIK code or by confirming it directly in their banking app.

COMPLETED

COMPLETED

You initiated the payments call and the transaction was successful.

COMPLETED

FAILED

You initiated the payments call and the transaction failed.

NOTE:  Regardless of the payments call response status, the payment handle status always changes to COMPLETED when a payments call is made.

FAILED

-

The payment handle was created, and the consumer was redirected to BLIK. However, the consumer either abandoned the transaction or failed to authorize it.

EXPIRED

-

The payment handle has expired because it was not used in the payments call within 15 minutes (TTL). 

GET calls

Use the following GET calls to look up the payment handle or payment status:

  • GET payment handle using the payment handle ID returned in the response to your original /paymenthandles call.

    Test: https://api.test.paysafe.com:443/paymenthub/v1/paymenthandles/<paymentHandleId>
    Production: https://api.paysafe.com:443/paymenthub/v1/paymenthandles/<paymentHandleId>

 

  • GET payment handle using the merchant reference number returned in the response to your original /paymenthandles call.

    Testhttps://api.test.paysafe.com:443/paymenthub/v1/paymenthandles?merchantRefNum=<merchantrefNum>
    Production: https://api.paysafe.com:443/paymenthub/v1/paymenthandles?merchantRefNum=<merchantrefNum>

 

  • GET payment using the payment ID returned in the response to your original /payments call.

    Test: https://api.test.paysafe.com:443/paymenthub/v1/payments/<paymentId>
    Production: https://api.paysafe.com:443/paymenthub/v1/payments/<paymentId>

 

  • GET payment using the merchant reference number returned in the response to your original /payments call.

    Test: https://api.test.paysafe.com:443/paymenthub/v1/payments?merchantRefNum=<merchantrefNum>
    Production: https://api.paysafe.com:443/paymenthub/v1/payments?merchantRefNum=<merchantrefNum>

Example webhook packets for payments

{
"payload": {
"accountId": "1027035260",
"id": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"merchantRefNum": "7d8b449d-0e03-486a-9049-cbe31750c837",
"paymentHandleToken": "PHIaQN3i5WkUBe3V",
"transactionType": "PAYMENT",
"amount": 300,
"currencyCode": "PLN",
"status": "PROCESSING",
"paymentType": "BLIK",
"billingDetails": {
"street1": "100 Queen",
"street2": "Unit 201",
"zip": "123456",
"city": "Toronto",
"country": "US"
},
"statusTime": "2026-04-23T09:35:12Z",
"updatedTime": "2026-04-23T09:35:12Z",
"gatewayReconciliationId": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"customerIp": "172.0.0.1",
"profile": {
"firstName": "kranthi",
"lastName": "kumar",
"email": "test@paysafe.com",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1901
},
"phone": "1234567890"
},
"usage": "SINGLE_USE",
"executionMode": "SYNCHRONOUS",
"merchantDescriptor": {
"dynamicDescriptor": "OnlineStore",
"phone": "12345678"
},
"gatewayResponse": {
"processor": "SKRILL_QCO",
"sid": "45b02c9f5951365ae1e017d346703f30"
},
"txnTime": "2026-04-23T09:34:54Z"
},
"eventType": "PAYMENT_HANDLE_PROCESSING",
"attemptNumber": "1",
"resourceId": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"eventDate": "2026-04-23T09:34:54Z",
"links": [
{
"href": "https://api.qa.paysafe.com/alternatepayments/v1/accounts/1027035260/paymenthandles/30d2a5ef-4c29-467b-8e48-17b48f120691",
"rel": "payment_handle"
}
],
"mode": "live",
"eventName": "PAYMENT_HANDLE_PROCESSING"
}

{
"payload": {
"accountId": "1027035260",
"id": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"merchantRefNum": "7d8b449d-0e03-486a-9049-cbe31750c837",
"paymentHandleToken": "PHIaQN3i5WkUBe3V",
"transactionType": "PAYMENT",
"amount": 300,
"currencyCode": "PLN",
"status": "PAYABLE",
"paymentType": "BLIK",
"billingDetails": {
"street1": "100 Queen",
"street2": "Unit 201",
"zip": "123456",
"city": "Toronto",
"country": "US"
},
"statusTime": "2026-04-23T09:35:27Z",
"updatedTime": "2026-04-23T09:35:27Z",
"gatewayReconciliationId": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"customerIp": "172.0.0.1",
"profile": {
"firstName": "kranthi",
"lastName": "kumar",
"email": "test@paysafe.com",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1901
},
"phone": "1234567890"
},
"usage": "SINGLE_USE",
"executionMode": "SYNCHRONOUS",
"merchantDescriptor": {
"dynamicDescriptor": "OnlineStore",
"phone": "12345678"
},
"gatewayResponse": {
"transaction_id": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"amount": "3.00",
"mb_transaction_id": "5111444547",
"pay_from_email": "test@paysafe.com",
"pay_to_email": "georgizgeorgiev.ger.m@sun-fish.com",
"currency": "PLN",
"merchant_id": "500008084345",
"id": "5111444547",
"processor": "SKRILL_QCO",
"status": "2",
"sid": "45b02c9f5951365ae1e017d346703f30"
},
"txnTime": "2026-04-23T09:34:54Z"
},
"eventType": "PAYMENT_HANDLE_PAYABLE",
"attemptNumber": "1",
"resourceId": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"eventDate": "2026-04-23T09:34:54Z",
"links": [
{
"href": "https://api.qa.paysafe.com/alternatepayments/v1/accounts/1027035260/paymenthandles/30d2a5ef-4c29-467b-8e48-17b48f120691",
"rel": "payment_handle"
}
],
"mode": "live",
"eventName": "PAYMENT_HANDLE_PAYABLE"
}

{
"id": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"paymentType": "BLIK",
"paymentHandleToken": "PHIaQN3i5WkUBe3V",
"merchantRefNum": "7d8b449d-0e03-486a-9049-cbe31750c837",
"currencyCode": "PLN",
"txnTime": "2026-04-23T09:34:54Z",
"billingDetails": {
"street": "100 Queen",
"street2": "Unit 201",
"city": "Toronto",
"zip": "123456",
"country": "US"
},
"customerIp": "172.0.0.1",
"status": "COMPLETED",
"links": [
{
"rel": "redirect_payment",
"href": "https://api.qa.paysafe.com/alternatepayments/v1/redirect?accountId=1027035260&paymentHandleId=30d2a5ef-4c29-467b-8e48-17b48f120691&token=eyJhbGciOiJIUzI1NiJ9.eyJhY2QiOiIxMDI3MDM1MjYwIiwicHlkIjoiMzBkMmE1ZWYtNGMyOS00NjdiLThlNDgtMTdiNDhmMTIwNjkxIiwiZXhwIjoxNzc2OTM4Njk1fQ.WMsjmvHaggvsvRB2cf5eyRh2JQu9-f2LgP7CRya2vJY"
}
],
"liveMode": false,
"simulator": "EXTERNAL",
"usage": "SINGLE_USE",
"action": "REDIRECT",
"executionMode": "SYNCHRONOUS",
"amount": 300,
"merchantDescriptor": {
"dynamicDescriptor": "OnlineStore",
"phone": "12345678"
},
"timeToLiveSeconds": 0,
"gatewayResponse": {
"transaction_id": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"amount": "3.00",
"mb_transaction_id": "5111444547",
"pay_from_email": "test@paysafe.com",
"pay_to_email": "georgizgeorgiev.ger.m@sun-fish.com",
"currency": "PLN",
"merchant_id": "500008084345",
"id": "5111444547",
"processor": "SKRILL_QCO",
"status": "2",
"sid": "45b02c9f5951365ae1e017d346703f30"
},
"returnLinks": [
{
"rel": "on_cancelled",
"href": "https://www.amazon.ca/"
},
{
"rel": "default",
"href": "https://www.google.com/"
},
{
"rel": "on_failed",
"href": "https://www.facebook.com/"
}
],
"transactionType": "PAYMENT",
"gatewayReconciliationId": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"updatedTime": "2026-04-23T09:36:52Z",
"statusTime": "2026-04-23T09:36:52Z",
"profile": {
"firstName": "kranthi",
"lastName": "kumar",
"email": "test@paysafe.com",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1901
},
"phone": "1234567890"
}
}

{
"payload": {
"accountId": "1027035260",
"id": "dd0ff4ef-b382-40a7-864c-7dbbc16032dc",
"merchantRefNum": "b6b51b65-5114-46ac-923c-3c375c813652",
"paymentHandleToken": "PHYRAGiAi3BOGuOn",
"transactionType": "PAYMENT",
"amount": 300,
"currencyCode": "PLN",
"status": "EXPIRED",
"statusReason": "AUTH_EXPIRED",
"paymentType": "BLIK",
"billingDetails": {
"street1": "100 Queen",
"street2": "Unit 201",
"zip": "123456",
"city": "Toronto",
"country": "US"
},
"statusTime": "2026-04-23T09:53:38Z",
"updatedTime": "2026-04-23T09:53:38Z",
"gatewayReconciliationId": "dd0ff4ef-b382-40a7-864c-7dbbc16032dc",
"customerIp": "172.0.0.1",
"profile": {
"firstName": "kranthi",
"lastName": "kumar",
"email": "test@paysafe.com",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1901
},
"phone": "1234567890"
},
"usage": "SINGLE_USE",
"executionMode": "SYNCHRONOUS",
"merchantDescriptor": {
"dynamicDescriptor": "OnlineStore",
"phone": "12345678"
},
"gatewayResponse": {
"transaction_id": "dd0ff4ef-b382-40a7-864c-7dbbc16032dc",
"amount": "3.00",
"mb_transaction_id": "5111444541",
"pay_from_email": "test@paysafe.com",
"pay_to_email": "georgizgeorgiev.ger.m@sun-fish.com",
"currency": "PLN",
"merchant_id": "500008084345",
"id": "5111444541",
"processor": "SKRILL_QCO",
"status": "2",
"sid": "250b1f945006e8ae7b037900c6fd4d65"
},
"txnTime": "2026-04-23T09:32:17Z"
},
"eventType": "PAYMENT_HANDLE_EXPIRED",
"attemptNumber": "1",
"resourceId": "dd0ff4ef-b382-40a7-864c-7dbbc16032dc",
"eventDate": "2026-04-23T09:32:17Z",
"links": [
{
"href": "https://api.qa.paysafe.com/alternatepayments/v1/accounts/1027035260/paymenthandles/dd0ff4ef-b382-40a7-864c-7dbbc16032dc",
"rel": "payment_handle"
}
],
"mode": "live",
"eventName": "PAYMENT_HANDLE_EXPIRED"
}

{
"payload": {
"accountId": "1027035260",
"id": "865023e1-27f1-44fd-bd9e-703a8673da0b",
"merchantRefNum": "09843e30-183b-4685-a362-fb47c832f81d",
"paymentHandleToken": "PHIaQN3i5WkUBe3V",
"amount": 300,
"currencyCode": "PLN",
"status": "COMPLETED",
"gatewayResponse": {
"transaction_id": "30d2a5ef-4c29-467b-8e48-17b48f120691",
"amount": "3.00",
"mb_transaction_id": "5111444547",
"pay_from_email": "test@paysafe.com",
"pay_to_email": "georgizgeorgiev.ger.m@sun-fish.com",
"currency": "PLN",
"merchant_id": "500008084345",
"id": "5111444547",
"processor": "SKRILL_QCO",
"status": "2",
"sid": "45b02c9f5951365ae1e017d346703f30"
},
"paymentType": "BLIK",
"source": "SingleAPI",
"availableToSettle": 0,
"txnTime": "2026-04-23T09:34:54Z",
"billingDetails": {
"street1": "100 Queen",
"street2": "Unit 201",
"zip": "123456",
"city": "Toronto",
"country": "US"
},
"customerIp": "172.0.0.1",
"profile": {
"firstName": "kranthi",
"lastName": "kumar",
"email": "test@paysafe.com",
"dateOfBirth": {
"day": 1,
"month": 1,
"year": 1901
},
"phone": "1234567890"
},
"settleWithAuth": true,
"statusTime": "2026-04-23T09:36:52Z",
"updatedTime": "2026-04-23T09:36:52Z",
"gatewayReconciliationId": "30d2a5ef-4c29-467b-8e48-17b48f120691"
},
"eventType": "PAYMENT_COMPLETED",
"attemptNumber": "1",
"resourceId": "865023e1-27f1-44fd-bd9e-703a8673da0b",
"eventDate": "2026-04-23T09:34:54Z",
"links": [
{
"href": "https://api.qa.paysafe.com/alternatepayments/v1/accounts/1027035260/payments/865023e1-27f1-44fd-bd9e-703a8673da0b",
"rel": "payment"
}
],
"mode": "live",
"eventName": "PAYMENT_COMPLETED"
}