Skip to content

Last Updated: 01 October 2025 | Change Log

Przelewy24

Przelewy24 is a real-time bank transfer, pre-payment or offline payment method for customers based in Poland.

Note

Make yourself familiar with our API principles to ensure a resilient integration.

Product overview

Przelewy24 flow

Your customer is redirected to the Przelewy24 interface where they can select their bank from a list of participating banks. They will then log into their banking app where they are reviewing and approving the payment. Once completed, your customer is redirected back to the resultURL you have provided in the API request.

Feature summary

Payment typeCustomer countryAcceptance currencyRecurringReversalsPartial reversals
Bank TransferPolandPLN
  • Refund - yes
  • Cancel- No
  • Partial refund - yes
  • Partial cancel- No
  • Maximum transaction value: 50.000,00 PLN

Get started

Get started using our API reference and set your headers.

Request

POST https://try.access.worldpay.com/apmPayments

Example request

application/json
{ "transactionReference": "Memory265-13/08/1876", "merchant": { "entity": "default" }, "instruction": { "method": "przelewy", "value": { "amount": 2500, "currency": "PLN" }, "narrative": { "line1": "Mind Palace" }, "paymentInstrument": { "type": "direct", "country": "PL" }, "resultUrls": { "success": "https://worldpay.com/success", "pending": "https://worldpay.com/pending", "cancel": "https://worldpay.com/cancel" }, "customer": { "email": "moriarty@example.com" } } }

Parameters

transactionReferencestring[ 1 .. 64 ] characters^[a-zA-Z0-9\-_/!@#$%()*=.:;?\[\]{}~+]*$required
merchantobject(MerchantV2)required
merchant.​entitystring[ 3 .. 32 ] characters^([a-zA-Z0-9\- ]*)$required

Used to route the request in Access Worldpay, created as part of on-boarding.

Example: "default"
instructionobject(InstructionV2)required

Object that contains the payment type and details.

instruction.​methodstringrequired

Type of payment method

Value"ach"
Discriminator
instruction.​valueobject(Value)required

The value of the payment.

instruction.​value.​amountinteger(int64)[ 1 .. 2147483647 ]required

The amount in the lowest denomination of the currency e.g. pennies for GBP, cents for USD.

Example: 12
instruction.​value.​currencystringrequired
Enum"AED""AFN""ANG""AOA""ARS""AUD""AWG""AZN""BAM""BBD"
instruction.​narrativeobject(NarrativeBase)required
instruction.​narrative.​line1string[ 1 .. 24 ] characters^[a-zA-Z0-9-., ]*$required

The description shown on your customer's bank statement for the payment.

Example: "MindPalace"
instruction.​paymentInstrumentobject(AchEftPaymentInstrumentV2)required
instruction.​paymentInstrument.​typestringrequired

The type of instrument.

Value"direct"
instruction.​paymentInstrument.​accountTypestringrequired

Account type.

Enum"checking""savings""corporate""corporateSavings"
Example: "checking"
instruction.​paymentInstrument.​accountNumberstring[ 1 .. 17 ] characters^[0-9]*$required

Account number of direct debit account.

Example: "123456789"
instruction.​paymentInstrument.​routingNumberstring= 9 characters^[0-9]*$required

Routing number of direct debit account.

Example: "123456789"
instruction.​paymentInstrument.​checkNumberstring[ 1 .. 15 ] characters^[0-9]*$

Check number of the direct debit account.

Example: "123456789"
instruction.​paymentInstrument.​companyNamestring[ 1 .. 40 ] characters^[0-9]*$

Company name if a corporate account.

Example: "123456789"
instruction.​paymentInstrument.​billingAddressobject(AchEftBillingAddress)required
instruction.​paymentInstrument.​billingAddress.​address1string[ 1 .. 80 ] characters
instruction.​paymentInstrument.​billingAddress.​address2string[ 1 .. 80 ] characters
instruction.​paymentInstrument.​billingAddress.​address3string[ 1 .. 80 ] characters
instruction.​paymentInstrument.​billingAddress.​citystring[ 1 .. 50 ] characters

City.

instruction.​paymentInstrument.​billingAddress.​countryCodestring
Enum"AD""AE""AF""AG""AI""AL""AM""AN""AO""AQ"
instruction.​paymentInstrument.​billingAddress.​postalCodestring[ 1 .. 15 ] characters

Postal code.

instruction.​paymentInstrument.​billingAddress.​statestring[ 1 .. 30 ] characters

State code of the billing address in ISO 3166-2 format.

Example: "US-OH"
instruction.​customerobject(CustomerDetailsAch)required
instruction.​customer.​firstNamestring[ 1 .. 22 ] charactersrequired

Your customer's first name.

instruction.​customer.​lastNamestring[ 1 .. 22 ] charactersrequired

Your customer's last name.

instruction.​customer.​customerIdstring<= 15 characters^[a-zA-Z0-9]*$

Your unique reference for the customer so that the 'pay faster next time' function can be used during checkout. This allows the shoppers chosen bank to be stored for their next payment.

Example: "44528abcd"
instruction.​customer.​emailstring

The customer's e-mail address.

Example: "customer@worldpay.com"

Response

Successful request response

  • an HTTP code 201
  • a paymentId which is unique to the payment - we recommend storing the "id", as you can use it to manage the payment later
  • a redirect to redirect your customer to the APM provider to complete the payment
  • an link to query the payment status
  • an object which will give flow information such as method (e.g. przelewy) and type (direct)
  • a commandId generated by us identifying a single merchant interaction (e.g. cmdYNdIHBPJwbkjLiykzTx0)

Example response

{
  "paymentInstrument": {
    "method": "przelewy",
    "type": "direct"
  },
  "paymentId": "uK9Oh5zz4yKhGuFofhhnC1loxh8YRI6ChuSe7sEy6rPwh_KRcHUrrs1qJtQso9gjbUhveud3wEUka96FeYiU0Tp38_5OaydAORxUcSiX2IyXwK6gT8PDO-IvQ-BUMt_iUsGZa3xbZdUeTuq6p3rC1PTBiR7CzE6-theYuKncW_KImK-l23r7xoTI7CEzKmR8",
  "lastEvent": "pending",
  "_links": {
    "self": {
      "href": "https://try.access.worldpay.com/apmPayments/uK9Oh5zz4yKhGuFofhhnC1loxh8YRI6ChuSe7sEy6rPwh_KRcHUrrs1qJtQso9gjbUhveud3wEUka96FeYiU0Tp38_5OaydAORxUcSiX2IyXwK6gT8PDO-IvQ-BUMt_iUsGZa3xbZdUeTuq6p3rC1PTBiR7CzE6-theYuKncW_KImK-l23r7xoTI7CEzKmR8"
    }
  },
  "_actions": {},
  "redirect": "https://secure-test.worldpay.com/jsp/test/shopper/APMSTSimulator.jsp?customerRef=3442338888&paymentMethod=PRZELEWY&isPayByLink=false&serviceLevelCode=M",
  "commandId": "cmdzYfWfiJ45qbCzSK0Tvx8n0"
}

Errors

Check out our API reference for the full error code schema.

Next steps


Manage your Przelewy24 payment