Create an account → get your keys instantly → create your first session in minutes. Live mode requires payout onboarding.

Rate limits and 429

When you exceed a rate limit, PayShare returns 429 Too Many Requests with code: "RATE_LIMIT_EXCEEDED" and a message such as "Rate limit exceeded. Please try again later."

When you might see 429

  • Session creation / merchant API: Too many create-session requests per minute per integration (e.g. creating many sessions in a short burst). Stay under roughly 100/min per integration.
  • Status polling: The pay page polls GET /api/payments/unified?sessionId=... to know when payment is done. If the same session is polled very frequently (e.g. multiple tabs, intervals under 1 second), the per-session limit can be hit.

What to do

  • Session creation: Throttle requests; avoid creating hundreds of sessions per minute.
  • Status polling: If you build your own pay UI, do not poll more than about once per second per session. When you receive 429, back off (e.g. 5–10 seconds) before retrying.
  • Always honour Retry-After if we send it; otherwise retry after 2–5 seconds.

Response: 429 Too Many Requests with body { "success": false, "code": "RATE_LIMIT_EXCEEDED", "message": "Rate limit exceeded. Please try again later.", "requestId": "..." }. Headers may include X-RateLimit-Remaining, X-RateLimit-Reset.

See: Error codes