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.

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: 179 days; 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; 179 days 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