Przelewy24
Integrate Przelewy24 and allow consumers to pay in various ways, such as online bank transfers, e-wallet, or installments.
Payment method properties
Markets | PL |
Processing currencies | EUR PLN |
Consumer currencies | EUR PLN |
Settlement currencies | EUR PLN |
Minimum payment amount | 0.01 PLN |
Maximum payment amount | 55,000.00 PLN |
Payment instrument | |
Recurring payments | No |
Separate captures | No |
Refund | Full - Partial - Multiple |
Refund validity | 365 days |
Captures | No |
Disputes | No |
Sandbox availability | Przelewy24 sandbox |
Consumer bank selection
In the Przelewy24 payment flow, the consumer selects their online bank or payment method and is then redirected to their bank's online environment to approve the payment.
Przelewy24 supports providing the consumer’s preferred bank by including the bankCode
in the request. This allows you to bypass the Przelewy24 bank selection page.
bankCode | Bank |
---|---|
25 | mBank - mTransfer |
94 | Euro Bank |
102 | Raiffeisen Bank PBL |
135 | Płac ̨e z IKO |
146 | Płac ̨e z Orange |
154 | BLIK |
177 | U ̇zyj przedpłaty |
178 | Przekaz tradycyjny |
1000 | Przekaz/Przelew tradycyjny |
Make a Przelewy24 payment
Przelewy24 payments follow our standardized REDIRECT
payment flow. However, we recommend including all relevant settings for any authentication methods you support.
To make a Przelewy24 payment, you'll need to provide the following data at minimum when calling our /v1/payment-charges API:
Data Field | Description |
---|---|
paymentMethod | P24 |
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. |
consumer.email | Email of the consumer. |
authenticationSettings: REDIRECT settings.returnUrl | Add the url where the consumer should be redirected to after they complete the payment. Required for the REDIRECT payment flow. |
ument: BANK_ACCOUNT details.bankCode | Providing the bankCode will bypass the bank selection. Optional and must meet the conditions listed above. |
Request
POST /v1/payment-charges
{
"paymentMethod": "P24",
"amount": {
"value": 1000,
"currency": "PLN"
},
"consumer": {
"name": "John Smith",
"country": "PL",
"email": "[email protected]"
},
"instrument": {
"type": "BANK_ACCOUNT",
"details": {
"bankCode": "25" //optional
}
},
"authenticationSettings": [
{
"type": "REDIRECT",
"settings": {
"returnUrl": "https://www.webshop.com/order-results-page"
}
}
]
}
Response
You'll receive our standard payment charge response (see potential responses in the API Reference)
{
"id": "charge_X0O78tadFHrZCbGhkycPk",
"status": "AUTHENTICATION_PENDING",
// ...
"authenticationMethods": [
{
"type": "REDIRECT",
"details": {
"requestUrl": "https://redirection-target.ppro.com",
"requestMethod": "GET"
}
}
]
}
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 finalize the payment process on the redirected page.
Handling the payment result
REDIRECT
- Once the consumer has confirmed the payment, they are redirected to the
returnUrl
provided in the initial payment charge creation request. - After the consumer is redirected back to your site, check the payment status by making a GET /v1/payment-charges/{paymentChargeId}. Use the
Status
that you received to display the payment outcome to the consumer. - Webhooks are also sent to inform you of the payment outcome. If the shopper closes the browser and doesn't return to your website, you can rely on webhooks to receive the payment result.
Payment instrument
An instrument of type BANK_ACCOUNT
will be created for Przelewy24 payments where the consumers chosen bank will be returned.
Request
GET /v1/payment-instruments/{instrument-id}
Response
{
"id": "instr_LlSIQh8ddrKUF1ohX9bZT",
"details": {
"bankName": "BLIK",
"bankCode": "154"
},
"type": "BANK_ACCOUNT"
}
Account on file
To streamline future Przelewy24 transactions, include the instrumentId
in your requests. This allows for bypassing of the bank selection step and route the payment directly using the associated bankCode
.
Updated 10 days ago