Decline Rule Policy
To protect card programs from misuse and excessive declines, we enforce a Decline Rule Policy on virtual cards. When a card repeatedly triggers declined transactions, escalating fees are applied to your USD wallet, and the card may ultimately be terminated.
What Triggers a Violation
A decline rule violation is recorded when a card transaction is declined for one of the following reasons:
Insufficient funds — the card does not have enough balance to cover the transaction.
Card not active — a transaction is attempted on a frozen card.
Authorization reversal settled — a previously authorized transaction is reversed by the merchant/network.
Each qualifying decline increments the card's violation counter by one.
Fee Schedule
violation # | fee charged | notes |
|---|---|---|
1st | No fee | No fee charged |
2nd | $1.00 | Fee charged |
3rd | $0.80 | Fee charged |
4th–10th | $0.50 each | Fee charged |
11th | No fee | Card terminated |
Fees are debited from your company's USD wallet and recorded as a Decline rule violation fee transaction. A webhook notification (virtualcard.transaction.declined.charge) is sent for each fee charge.
Card Termination
A card is automatically terminated under two conditions:
11 violations reached — On the 11th decline rule violation, the card is permanently terminated. No additional fee is charged at this stage.
Negative wallet balance after fee debit — If a fee debit causes your company's USD wallet balance to go negative, the card is immediately terminated.
How to Avoid Violations
- Fund your cards adequately before use to prevent insufficient-funds declines.
- Do not attempt transactions on frozen cards. Unfreeze a card before authorizing payments.
- Track violation counts via the decline charge webhook events to take corrective action before reaching the termination threshold.
Webhook Events
event | description |
|---|---|
virtualcard.transaction.declined.charge | Sent when a decline fee is charged or when a card is terminated due to violations |
The webhook payload includes: cardId, amount (fee in cents), reference, status, and violationCount.