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:
{
"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:
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:
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