Skip to main content

Limits and restrictions

Information about API rate limits, amount limits for each payment method, and time restrictions.

API rate limiting​

The dpay.pl API applies request limits to maintain service stability:

  • The default limit is 120 requests per minute. The limit is calculated per service (Payment Point) and can be increased for your service on request.
  • Responses include the X-RateLimit-Limit header with the current limit and X-RateLimit-Remaining with the number of requests left in the current window.
  • After exceeding the limit, you receive an HTTP 429 response with Retry-After, the number of seconds until requests are accepted again, and X-RateLimit-Reset, the reset timestamp.
tip

If you receive a 429 response, wait for the period specified in Retry-After before retrying. Implement exponential backoff for subsequent attempts.

Amount limits​

Standard payment methods​

MethodMin. amountMax. amountAPI registration currency
BLIK0.01 PLN999 999.99 PLNPLN
Bank transfers (PBL)0.01 PLN999 999.99 PLNPLN
Payment cards0.01 PLN999 999.99 PLNPLN
Google Pay0.01 PLN999 999.99 PLNPLN
Apple Pay0.01 PLN999 999.99 PLNPLN
MB WAY (transactionType: mb_way_direct)0.01 EUR999 999.99 EUREUR
Bizum (transactionType: bizum_direct)0.01 EUR999 999.99 EUREUR
Czech banks (white-label)0.01 CZK999 999.99 CZKCZK
Slovak banks (white-label)0.01 EUR999 999.99 EUREUR
Currencies for API registration

When registering a transaction through the API, use PLN for most payment methods. Use EUR for MB WAY (transactionType: mb_way_direct), Bizum, and Slovak banks, and CZK for Czech banks. PLN is not accepted for MB WAY. Any other combination results in a registration error.

Independently, a service (Payment Point) can be configured with any of these currencies: PLN, EUR, CZK, USD, RON. currency_code must be one of the currencies enabled for the service.

info

Actual transaction limits may be lower and depend on your account configuration in the dpay.pl panel. Contact support to configure limits appropriate for your business.

Buy now, pay later (BNPL)​

Deferred payment methods have fixed amount thresholds set by the providers. The gateway shows a method only when the transaction amount falls within its range and the method is enabled for the service. Outside the range, the method tile does not appear at all. This is expected behaviour, not an error.

MethodVariantMin. amountMax. amountCurrency
BLIK Pay Later30 days30.00 PLN2 000.00 PLNPLN
Twisto30 days0.01 PLN2 000.00 PLNPLN
Twisto3 instalments (3x)150.00 PLN4 000.00 PLNPLN
PayPo30 daysno amount limitno amount limitPLN

Additional display conditions:

  • BLIK Pay Later requires standard BLIK to be active for the service (the same BLIK merchant ID) and the PLN currency. If the BLIK BNPL toggle is enabled in the panel but the method does not appear on the gateway, check the transaction amount first.
  • Twisto shows only the variants whose range contains the amount. Below 150 PLN only the 30-day variant is offered, provided it is enabled.
  • PayPo requires the transaction registration to include a billing address (billing_address), a shipping address (shipping_address) and a product list (products) in which every item has id, name, price and description filled in. Without this data PayPo does not appear on the gateway.
  • Registering a transaction with nobanks: 1 also disables all deferred payment methods.

Direct Carrier Billing (DCB)​

DCB has specific limits imposed by mobile operator regulations:

OperatorDaily limitMonthly limit
Various operatorsOperator-dependentOperator-dependent

DCB limits are set by mobile operators and can vary based on:

  • Customer account type (pre-paid or post-paid)
  • Customer transaction history
  • The operator's policy

If a limit is exceeded, the operator declines the payment. Offer the customer an alternative payment method.

SMS Premium​

SMS Premium limits depend on the premium number and its configuration in the dpay.pl panel.

Time restrictions​

ElementValidity period
BLIK codeAbout 2 minutes from generation
Payment session (gateway)Up to 15 minutes
SMS Premium codeSingle-use, no time limit
Refund eligibility180 days from the transaction date (BLIK: 13 months; PBL transfers: no time limit)
IPN retriesUp to 10 attempts (about 17 hours)

Refund limits​

RestrictionValue
Maximum refund period180 days from the transaction date for cards, MB WAY, PayPo, and Twisto; 13 months for BLIK; no time limit for PBL transfers
Refund amountCannot exceed the transaction amount
Partial refundsThe sum of all refunds must not exceed the original amount
Number of refundsPayPo and Twisto: only one full or partial refund; other methods: multiple partial refunds

For details, see Refunds.

Recommendations​

  • Implement retries with backoff: do not send requests in a loop without delays
  • Cache data: avoid repeatedly querying the API for the same information
  • Monitor 429 responses: if you receive them regularly, optimize your request frequency
  • Inform customers about DCB limits: display an appropriate message and offer an alternative payment method