Skip to main content
Bachs enforces a maximum deposit amount per charge to manage risk. Limits are set per account and per currency, and apply to every payment collected through your integration, including checkout sessions.

How limits work

Each currency has a maximum single-deposit amount. When a payment is initiated, Bachs checks the charge amount against the limit for that currency before processing. If the amount exceeds the cap, the request is rejected immediately with a DEPOSIT_LIMIT_EXCEEDED error, no charge is attempted. For checkout sessions with local pricing, limits are checked independently for each currency in the pricing configuration.

What your limit is

Limits are set per account and per currency. There is no single published figure: what you are allowed depends on your business type, what you sell, the customers you serve, and your risk profile, and it can change as your account builds history with us. Because of that, do not hardcode a limit in your integration. Read it from the API instead. When a charge exceeds the cap, the DEPOSIT_LIMIT_EXCEEDED error returns details.max_allowed_amount for the currency in question, which is the authoritative value for that account at that moment. See Handling limit errors. For non-USD currencies, a limit expressed in USD is converted using live exchange rates at the time of the request, so the local-currency cap moves with rates.

Request a limit increase

If you need a higher Bachs checkout limit, email support@bachs.io with the following:
  • Your Bachs account email
  • Your current checkout limit (from details.max_allowed_amount, or your dashboard)
  • The new limit you’re requesting
  • Why you need the increase
  • What you’re selling or the service you provide
  • The type of customers you serve
  • Your expected payment volume
This helps us understand your business and review your request. We’ll get back to you once your request has been reviewed.

Handling limit errors

When a deposit exceeds the limit, the API returns HTTP 400 with DEPOSIT_LIMIT_EXCEEDED:
The details object tells you exactly what was requested and what the cap is, so you can surface a clear message to your customer or split the payment into smaller charges.
Check details.max_allowed_amount and details.currency to show your customer the maximum they can pay in a single charge rather than a generic error.

Connected accounts

If your integration uses connected accounts, limits are resolved against the effective organization: typically the connected account itself, since each account carries its own limit. The effective_org_id field in the error response tells you which organization’s limit was applied.