Przelewy24 for Payment Setup API
Last updated: April 30, 2026
To accept Przelewy24 payments, you must:
- Create a payment setup.
- Confirm the payment.
- Redirect the customer to Przelewy24.
Call the Create a payment setup endpoint.
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
post
https://{prefix}.api.checkout.com/payments/setups
1{2"amount": 1000,3"currency": "PLN",4"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",5"customer": {6"country": "PL"7},8"payment_methods": {9"p24": {10"account_holder": {11"name": "Hannah Bret",12"email": "hannah.bret@example.com"13}14}15},16"settings": {17"success_url": "https://example.com/payments/success",18"failure_url": "https://example.com/payments/failure"19}20}
In the request body, provide the following:
| Field | Description |
|---|---|
number | The payment amount, in the minor currency unit. |
string | Three-letter ISO 4217 currency code. |
string | The two-letter ISO country code of the customer. |
object | The account holder's details. |
string | The account holder's email address. |
string | The account holder's name. |
string | The processing channel's unique identifier. |
string | The URL to redirect the customer to if the payment fails. |
string | The URL to redirect the customer to if the payment is successful. |
string | A description of the payment. |
string | A unique reference for the payment. |
1{2"id": "set_rcmepwrchqab2wsergcafvijfy",3"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",4"amount": 1000,5"currency": "PLN",6"payment_type": "Regular",7"reference": "ORDER_01234",8"description": "Przelewy24 payment",9"payment_methods": {10"p24": {11"status": "ready",12"flags": []13}14},15"available_payment_methods": [16"p24"17],18"settings": {19"success_url": "https://example.com/payments/success",20"failure_url": "https://example.com/payments/failure"21}22}
The response returns a payment_methods object, which contains the payment methods enabled on your account.
Providing all required fields sets the payment_methods.p24 object to a ready status.
Confirm the payment by calling the Confirm a payment setup endpoint and provide:
- The payment setup
idas the{id}path parameter. p24as the{payment_method_name}path parameter.
post
https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/p24
1{2"id": "pay_yo7mr2qvrj5ubirhehlbjr4yda",3"status": "Pending",4"customer": {5"id": "cus_dd7efezan2xexdfhtrhoz6tvam"6},7"_links": {8"self": {9"href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_yo7mr2qvrj5ubirhehlbjr4yda"10},11"redirect": {12"href": "https://r.girogate.de/ti/simp24?tx=431811890&rs=6FlzR3BeW8SvfX4U0H7weTEkDPSWJBVb&cs=dfcf0cab1a0522652133e8dc0302cdcae683ac07f1317b3db6450893ce007831"13}14}15}
Redirect the customer to the redirect link's href from the response. The customer completes the payment on the Przelewy24 page and is then redirected back to your settings.success_url or settings.failure_url.
Confirmation of a Przelewy24 payment is only communicated through webhooks. All payments are labeled as Pending until you receive a payment_captured webhook (response code 10000), indicating a successful transaction.