High Wire Payments

Account limits

The volume caps and velocity checks High Wire can enforce on an account, and exactly what the API answers when one is hit.

Two kinds of controls can refuse a call before any money moves: merchant limits, volume caps configured per account, and velocity checks, which stop unusual bursts of attempts.

Merchant limits

Each account can carry up to four caps. They are opt-in: a cap that is not configured on your account is not enforced. Ask High Wire what is configured on yours, and ask ahead of time if you expect to operate near a ceiling.

LimitWhat it capsWindow
Per-transactionThe amount of a single charge or checkout.None, checked per request.
DailyThe sum of successful captures in the day.00:00 to 24:00 UTC.
MonthlyThe sum of successful captures in the month.The calendar month, UTC.
Daily refundThe sum of successful refunds in the day.00:00 to 24:00 UTC.

Windows are computed in UTC, not in your local time. Every surface counts toward the caps: direct charges, saved-method charges and hosted checkouts alike. Only successful payments count toward the sell caps, and only successful refunds toward the refund cap.

What you see when a limit is hit

A 400 with the decline body of the endpoint (charge decline or refund decline) and one of these declinedReason values:

declinedReasonLimit
Amount exceeds per-transaction limitPer-transaction.
Amount exceeds daily limitDaily.
Amount exceeds monthly limitMonthly.
Amount exceeds daily refund limitDaily refund.
{
  "amount": 250000,
  "cardNumber": "555555xxxxxxxx4444",
  "cardExpiration": "1133",
  "cardholderName": "Jordan Example",
  "status": "DECLINED",
  "declinedReason": "Amount exceeds per-transaction limit"
}

The customer is never debited by a limit decline. The attempt is recorded as a DECLINED payment and the response is stored under the Idempotency-Key: a later attempt needs a new key.

Velocity checks

The card charges, auth-and-capture, auth and charge-saved-method, run velocity checks before anything else. A refusal is a 429 with code: "VELOCITY_LIMIT" and one of two messages:

messageMeaning
Velocity limit exceededToo many attempts in a short time.
Duplicate purchase blockedThe same purchase was just attempted.
{
  "statusCode": 429,
  "message": "Duplicate purchase blocked",
  "code": "VELOCITY_LIMIT"
}

Nothing is charged and no payment is recorded. The thresholds are set by High Wire and are not published. The refusal is stored under the Idempotency-Key like a decline, so resending the same key answers the same 429: back off, and send a new attempt under a new key later.

On this page