BLIK
BLIK is a popular mobile payment method in Poland that enables customers to make secure online payments using a one-time six-digit code generated in their banking app. At checkout, users enter the code and confirm the transaction within their bank’s mobile app. BLIK provides merchants with a fast, convenient, and widely trusted payment option for customers in Poland.
| Payment type | Mobile / Online Banking |
| Market | Poland |
| Customer currencies | PLN |
| Processing currencies | PLN |
| Refunds | Yes |
Step 1. Make a transaction request
From your server, make a POST
https://service-sandbox.apmgw-dev.payabl.tech/apm_gw/payment_preauthorizehttps://service.apmgw-prod.payabl.tech/apm_gw/payment_preauthorizeRequest Type: POST
Content-Type: application/x-www-form-urlencoded
Request example (URL-encoded):
merchantid=gateway_test
orderid=Payabl-Test
amount=100.32
currency=PLN
payment_method=202
firstname=Muster
lastname=Mann
[email protected]
bankcountry=POL
url_return=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d
url_success=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d
url_failed=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d
notification_url=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d
language=en
signature=a78b9c11c8f52b599581e29883eaf7bba37a6437
cURL example:
curl --location ‘https://<payment-endpoint>’ \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'merchantid=gateway_test' \
--data-urlencode 'amount=100.32' \
--data-urlencode 'currency=PLN' \
--data-urlencode 'payment_method=202' \
--data-urlencode 'orderid=Payabl-Test' \
--data-urlencode 'firstname=Muster' \
--data-urlencode 'lastname=Mann' \
--data-urlencode '[email protected]' \
--data-urlencode 'bankcountry=POL' \
--data-urlencode 'url_return=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d' \
--data-urlencode 'url_success=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d' \
--data-urlencode 'url_failed=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d' \
--data-urlencode 'notification_url=https://webhook.site/c7b607ee-e15c-46ad-bfa7-8112619cf42d' \
--data-urlencode 'language=en' \
--data-urlencode 'signature=a78b9c11c8f52b599581e29883eaf7bba37a6437'
Public Sandbox informationDo not use your personal email address, Order ID with sensitive information, real customer details and credit card data in the public Sandbox. For email field you may use [email protected].
To complete the payment, you need to redirect the customer to the correct URL in the response.
Raw Response:
transactionid=4882181075469041823
transid=4882181075469041823
status=2000
errormessage=pending
errmsg=pending
amount=100.32
price=100.32
currency=PLN
orderid=Payabl-Test
payment_method=202
redirect_url=https://authman.sandbox.lp-pl.ppro.com/v0/pages/form-post?redirection_token=eyJhbGciOiJIUzUxMiJ9.eyJzZXNzaW9uIjp7InIiOiJjaGFyZ2VfSGRFWGJSYTF6WERXVXdxY1hzQU4zIn19.xis98nwSIalCIM-83ppBrieoB5CbDPSz5o2nMm0V80-352e-RiZ5GrGKtx8qFWJU406QCm0B_x2pQiaDNaoXnA
If status=2000, the payment has been successfully initialized. To complete the payment, redirect the customer to
redirect_url.
Raw Failed Response:
transactionid=4882181079462641826
transid=4882181079462641826
status=-5002
errormessage=invalid+country:+LOCAL_DECLINE
errmsg=invalid+country:+LOCAL_DECLINE
amount=100.32
price=100.32
currency=PLN
orderid=Payabl-Test&payment_method=202
Step 2. Handle the redirect
Redirection to
url_returndoes not confirm that the transaction is successful. Always check the transaction vianotification_urlor use the diagnose interface to get the final status of the transaction.After the customer completes the payment on the provider side, they will be redirected to your
url_successorurl_failed.
Successful Redirect Response:
transactionid=4882181075469041823
timestamp=1772202100
orderid=Payabl-Test
payment_method=202
errormessage=
errorcode=0
type=capture
amount=100.32
currency=PLN
payment_state=credited
security=271f9f4ff7936d30f70fc7a03987601547a60352f6b37f05aa46b21ed816b200
Failed Redirect Response:
transactionid=4882181080494833827
timestamp=1772203112
orderid=Payabl-Test
payment_method=202
errormessage=Payment+failed
errorcode=-5002
type=order
amount=100.32
currency=PLN
payment_state=not_credited
security=48aa39f5e19513ccc9d089ca1dca63130b398c822dd28147c431689920dd28eb
payment_state values:
| Value | Transaction Status |
|---|---|
not_credited_yet | Capture - Accepted |
credited | Capture - Successful |
not_credited | Capture - Failed |
Server-to-Server Notifications (Webhook)
Notification is sent to notification_url.
Successful Capture:
transactionid=4882181075469041823
timestamp=1772202029
orderid=Payabl-Test
payment_method=202
errormessage=
errorcode=0
type=capture
amount=100.32
currency=PLN
payment_state=credited
security=cbc0b4c0fe06aa3a44a77bee2f10fbe30e7b055c569a9daa5548c3e4f683a922
Failed Capture:
transactionid=4882181080494833827
timestamp=1772203111
orderid=Payabl-Test
payment_method=202
errormessage=Payment+failed
errorcode=-5002
type=order
amount=100.32
currency=PLN
payment_state=not_credited
security=b39351fa03991e338c66e4231f087c311bc617ffa62f6f5688e9abc6447c1374
Refunds
BLIK supports refunds and can be initiated only on a successful captured transaction.
The request will send a credit note to the authorization system after the customer has already been charged. The refund amount will be credited to the customer and the merchant’s account will be charged.
The refund can be done in two ways:
- Through API integration
- Through payabl. dashboard
Endpoint: <sandbox URL>/payment_refund
Request Type: POST
Content-Type: application/x-www-form-urlencoded
Refund Request:
merchantid=gateway_test
amount=10.23
currency=PLN
signature=5c4baf035ff8c47715e7e4f07658e8ff9af490d3
transactionid=4882181075469041823
cURL Request Example:
curl --location 'https://<refund-endpoint>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'merchantid=gateway_test' \
--data-urlencode 'amount=10.23' \
--data-urlencode 'currency=PLN' \
--data-urlencode 'signature=5c4baf035ff8c47715e7e4f07658e8ff9af490d3' \
--data-urlencode 'transactionid=4882181075469041823'Successful Refund Response:
transactionid=4882181075469041823
transid=4882181075469041823
status=0
errormessage=
errmsg=
amount=10.23
price=10.23
currency=PLN
orderid=Payabl-Test
Failed Refund Response:
transactionid=4882181075469041823
transid=4882181075469041823
status=-117
errormessage=refund+failed+%3A+wrong+currency
errmsg=refund+failed+%3A+wrong+currency
amount=
price=
currency=
orderid=Payabl-Test
Our Technical Support team is there to help you:
Email: [email protected]
Available Monday – Friday between 09:00 and 17:00 CET/CEST
Updated about 3 hours ago
