North Metric

    withdrawal_count_limit_exceeded: let Stripe retry.

    It shows up most when several invoices or add-ons are billed to the same card on the same day.

    withdrawal_count_limit_exceededDECLINE CODE · RETRY LATER
    RECOVERYHIGHRETRYYes, let Stripe retryCUSTOMER ACTIONNone

    What does withdrawal_count_limit_exceeded mean in Stripe?

    It means the card has made too many charges in a short window, so the bank paused further ones. The money is there; the count isn’t.

    What happens next

    The same decline, handled two ways: a fixed retry ladder, and Stripe Smart Retries with North Metric following up once they end. North Metric never retries a card; its part in failed payment recovery starts when Stripe stops.

    THE NEXT 14 DAYS · EXAMPLE✕FAILED RETRYACTIONPAID
    Fixed retry ladder · day 1, 3, 5, 7Maybe · day 7
    M✕
    T
    W✕
    T
    F✕
    S
    S✕
    M
    T
    W
    T
    F
    S
    S
    Four more charges on a card the bank says has reached its limit. One may land once the limit resets.
    Stripe + North MetricPaid · Stripe retry
    M
    T
    W
    T
    F
    S
    S
    M
    T
    W
    T
    F
    S
    S
    Stripe’s retries clear it, so North Metric sends nothing. A note is drafted only if the retries end unpaid.

    What it means

    The window usually clears within 24 hours, so a retry the next day often works. Stripe returns it as a decline_code inside a card_error, so your integration sees the charge fail and the reason sits in this field.

    {
      "error": {
        "type": "card_error",
        "code": "card_declined",
        "decline_code": "withdrawal_count_limit_exceeded",
        "message": "Your card was declined."
      }
    }

    Why it happens

    •The card reached the balance or credit limit its bank allows.•Several charges on the same card in a short window used up what was available.•The bank caps how many payments the card can make in a period, and this one went over.

    What to do

    01Don’t email yetThe customer did nothing wrong. A warning now only adds noise.
    02Let Stripe’s retries runSmart Retries pick the timing. Stripe’s recommended default is 8 tries within 2 weeks (Stripe docs, Oct 2026).
    03Follow up when the retries endIf the invoice is still unpaid, send one short personal note with a card-update link.
    See which customers with a failed payment are at risk, in your own Stripe.Actions off until you turn them onGet your free churn report →

    What to tell the customer

    Usually nothing while Stripe retries. If the retries end unpaid, send one short, human note, not a red banner.

    From: Maya at AcmeSubject: A quick note about your Acme invoice
    Hi Sam, Your card didn’t go through for this month’s Acme invoice, and the automatic retries have ended. You can update it or use a different card here. Everything else stays the same. Maya
    SEND ONLY AFTER STRIPE’S RETRIES END

    What not to do

    ✕Retry on a fixed day 1, 3, 5, 7 ladder.✕Send a “payment failed” email on the first decline.✕Add your own retries on top of Stripe’s.
    01RELATED CODES

    Same type,same playbook.

    Codes Stripe returns for the same underlying reason. Each one opens its own guide.

    insufficient_fundsThe card is valid but the balance was too lowHIGHOpen code →card_velocity_exceededThe card hit its spending or transaction limitHIGHOpen code →processing_errorSomething went wrong while processing the cardHIGHOpen code →
    All decline codes →
    02FAQ

    Questions aboutthis decline.

    Short answers. The full list of codes is one click away.

    Soft. The card is fine; a well-timed retry usually succeeds.

    AFTER STRIPE’S RETRIES

    Know who’s at riskafter a decline.

    Actions off until you turn them on