Przelewy24 Poland
BLIK, cards, PayPo, Raty, Apple/Google Pay. Official documentation: https://developers.przelewy24.pl/. Gateway fee: per the P24 rate (BLIK/cards ~1.29% + 0.30 zł).
Credentials
merchantId, posId, CRC, API key (reports) from the P24 panel. Sandbox: sandbox.przelewy24.pl with separate keys (P24_SANDBOX=1). Activation 59 zł.
- Environment variables
P24_MERCHANT_IDP24_POS_IDP24_CRCP24_REPORT_KEYP24_SANDBOXP24_METHOD (optional)- Webhook
POST /webhooks/p24JSON (merchantId, posId, sessionId, amount, originAmount, currency, orderId, methodId, statement, sign); sign = SHA-384 over these fields + CRC. Request basic auth:posId:apiKey.
What Mistok calls
| Request | Fields / meaning |
|---|---|
POST /api/v1/transaction/register | sessionId, amount (groszy), currency, description, email, urlReturn, urlStatus, timeLimit, method?; sign = SHA-384(JSON{sessionId, merchantId, amount, currency, crc}) → token → /trnRequest/{token} |
PUT /api/v1/transaction/verify | mandatory verification after the notification — otherwise the payment stays an “advance”; Mistok does it automatically |
GET /api/v1/transaction/by/sessionId/{id} | status (0 created, 1 processing, 2 success, 3 reversed) |
POST /api/v1/transaction/refund | refunds[{orderId, sessionId, amount, description}] |
Statuses
The notification arrives only for successful payments; P24 statuses 0/1/2/3 → created/processing/success/reversed.
Mistok’s model: created → processing → (hold →) success | failure | expired | reversed. The Shopify order receives a payment only on success and only after the amount and currency are checked against our record.
Sandbox
Sandbox with test methods; test BLIK codes are issued by P24 support.
Limitations
- PLN/EUR/GBP/CZK
- buyer’s email is required
- non-resident companies — by agreement with P24 (not officially forbidden, not confirmed)
Not confirmed by a live run
Implemented from the official docs and SDKs; a first run on test keys is mandatory.
- the notification field list and status code semantics were taken from the official OpenAPI via mirrors — the P24 site is rendered with JS