Skip to main content
Skip table of contents

Rate Limiting

The Payrix platform uses a rate-limiting system to boost overall resiliency and help manage velocity to ensure smoother platform performance. You can test our rate limits on the sandbox server using specific triggers to see what exceeding the rate limits looks like.

Rate limits

All Payrix platform API endpoints, their corresponding HTTP methods, and portal functions, are subject to rate limiting. The following rate limit and temporary block period apply to both sandbox and production server requests:

  • Rate limit: 1000 requests in 10 seconds

  • Temporary block period: 10 seconds

Rate limits apply to specific endpoints or portal functions that are exceeded but do not block requests to other endpoints. For instance, if a Merchant exceeds the rate limit on the Create Payment page (or /txns endpoint), communication on the Users page (or /logins API endpoint) remains unaffected during the 10-second violation block.

Exceeding rate limits

When exceeding the rate limits of the Payrix server, a temporary block of 10 seconds is implemented on the IP address, endpoint path, and host to prevent further exceeding the rate limit.

The following elements will be blocked from making additional requests for 10 seconds:

  • Source IP Address: The IP address of the entity that has exceeded the rate limit.

  • Path/Endpoint: The Payrix endpoint / URL path is blocked from receiving requests

  • Host: The Payrix server

In addition, the Payrix server will return the following codes:

  • HTTP Status: A 429 HTTP status code explaining the rate limit was exceeded.

  • Payrix Server Error: A code 64 error response message, indicating a temporary block has been implemented due to exceeding the rate limit.

See the code snippet below for an example of an error response that is returned when the rate limit has been exceeded:

JSON
{
    "errors": [
        {
            "code": 64,
            "severity": 2,
            "msg": "Rate of requests exceeded - Temporary block implemented",
            "errorCode": "C_RATE_LIMIT_EXCEEDED_TEMP_BLOCK"
        }
    ]
}

For more information on our rate limits, contact your Relationship Manager or Partner Support.


Testing rate limits

To help understand the expected response from exceeding the rate limit, we’ve created an easy-to-use API header method to automatically trigger the 'Rate Limit Exceeded' response in both sandbox and production environments:

CODE
rate-limit-test: match

Requests that include the rate-limit-test header, using the match value, will automatically reach the maximum rate limit.

To initiate the "Rate Limit Test," refer to the following example of calling the /txns endpoint from the API:

CODE
POST /txns                 
Host: https//test-api.payrix.com    
rate-limit-test: match              ## Required Header  for Rate Limit Test.
Accept: application/json, text/plain, */* 
Content-Type: application/json      
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.