Guide · ChargeWarden
AVS Mismatch: What It Means and How to Fix It
What an AVS mismatch means on a card payment, why it happens when the address looks right, every AVS code explained, and what stores should do with each.
By the PluginLoom teamUpdated 12 min read10 sources
Our plugin for this
ChargeWarden from $129/mo
Card-testing and fraud protection for WooCommerce, with order risk scores you can read.
- 14-day store credit
- Secure checkout by Stripe
- Cancel any time
ChargeWarden from $129/mo
Buy ChargeWardenShort answer: An AVS mismatch means the billing address entered at checkout did not match the address your card issuer has on file. The check compares the numbers in the street address and the ZIP or postal code. It is not proof of fraud: the issuer can still approve the payment, and many mismatches come from typos or old addresses.
This guide has two parts. The first is for shoppers whose card was declined. The second is for store owners deciding what to do with AVS results, with a full code table and a recommended action for each code.
What does AVS mismatch mean on a credit card?#
AVS stands for Address Verification Service (some processors say Address Verification System). When a store sends your billing address with a card payment, your card issuer compares it with the address on your account and returns a one-letter result code. "AVS mismatch" means that code said the address, the ZIP, or both did not match.
Three facts explain most of what you will see:
- Only the numbers are compared. The processor TabaPay's developer docs say: "Only the numerical portion of the address is verified by the issuer during an AVS check." For "123 Main Street, 55555", that means 123 and 55555.
- AVS is strongest in a few countries. Stripe's docs say: "Most cards issued in the United States, Canada, and the United Kingdom support street address verification." Elsewhere, the result is often "unavailable" rather than a match or a mismatch.
- A mismatch does not stop the payment by itself. Stripe says "A card issuer might still consider a payment that fails CVC or postal code verification legitimate, and therefore approve it." The decline you see usually comes from a rule the store or its gateway chose.
What does it mean when a card is rejected by AVS?#
It means the store or its gateway has a rule that declines a payment when the address check fails, or when the issuer could not check it. The issuer may have approved the money, and then the gateway cancelled the payment because of the AVS code.
Authorize.net is a clear example. Its support article lists the codes its gateway rejects by default: B, E, G, N, R, S and U. Some of those are true mismatches (N), but several only mean the check could not be done: R ("Retry, System Is Unavailable"), S ("AVS Not Supported by Card Issuing Bank") and U ("Address Information For This Cardholder Is Unavailable"). Merchants can change those settings, but many never do.
Why is my card getting declined but I have money?#
Because a card decline is not only about your balance. The issuer, the network, the gateway and the store all get a say. The most common reasons on an online order:
| Reason | What happened | What you can do |
|---|---|---|
| AVS mismatch | The billing address or ZIP you typed differs from the issuer's records | Type the address exactly as it appears on your card statement |
| Security code mismatch | The 3 or 4 digit code was wrong | Re-enter it carefully |
| Issuer fraud check | Your bank thought the purchase looked unusual | Approve it in your banking app or call the number on the card |
| Store or gateway rule | The store blocks certain AVS or CVV results, countries, or risky orders | Contact the store, or pay another way |
| Card restrictions | Online or international purchases are switched off on the card | Change the setting in your banking app |
Only your issuer can tell you for certain why it declined. The store usually sees just a code.
Why does AVS fail when my address is correct?#
This is the "avs mismatch but address is correct" problem. The usual causes:
- The issuer has an old address. You moved and updated the store, but not the bank. Stripe gives this exact example: "a customer who enters their address incorrectly or moves without notifying their card issuer."
- The numbers differ. Because only digits are compared, an apartment or suite number typed into the first address line can change the digits the issuer sees. Try the address exactly as your statement shows it, with the unit number where your bank puts it.
- You used the shipping address. AVS checks the billing address. A gift sent to someone else is fine, but the billing fields must hold the card's address.
- A nine-digit ZIP mismatch. Some issuers match on ZIP+4. Try the five-digit ZIP.
- Your card is from outside the US, Canada or the UK. Your issuer may not support the check at all, and some gateways decline "not supported" by default.
- The store sends only the ZIP. Then the street line is never checked and a ZIP typo is the only possible cause.
Will I be charged after an AVS decline?#
You may see a pending charge for a failed order. Authorize.net explains that when its gateway declines a payment for AVS, "the authorization code and the hold on the authorized funds remain on the customer's card." The hold is not a completed charge. It stays until the issuer removes it, and Authorize.net says "Most card issuing banks will remove authorizations within 3-7 days if they are not claimed for settlement." The store cannot release it; your bank can.
Are AVS and CVV the same?#
No. They are two different checks that run on the same payment.
| AVS | CVV / CVC / CVV2 | |
|---|---|---|
| What is checked | Numbers in the billing street address and ZIP or postal code | The 3 or 4 digit code printed on the card |
| What it proves | The person knows the cardholder's billing address | The person has, or had, the card details including the code |
| Where it works best | Cards issued in the US, Canada and the UK | Most card-not-present payments, though wallets and saved-card payments often skip it |
| Typical result codes | Letters such as Y, A, Z, N, U | Letters such as M (match), N (no match), P (not processed) |
| Stored by the store? | The address is stored with the order | The code must never be stored; Stripe says "Businesses can't store the CVC number" |
Stripe's view is that CVC checks are a strong signal because the code cannot be stolen from a store's database. But neither check protects against a thief who has the physical card or a full set of stolen details.
Our plugin for this
ChargeWarden from $129/mo
Card-testing and fraud protection for WooCommerce, with order risk scores you can read.
Is AVS mandatory?#
No law requires AVS. It runs only when the store collects the billing address and sends it with the payment. Stripe puts it plainly: "If no information is collected, the card issuer can't perform a verification check."
What to do with the result is also the store's choice. Chase's guidance for its merchants says an automatic decline on AVS alone is the business's decision, and that the amount, shipping address, CVV result and 3D Secure should be considered too.
Every AVS code, and how processors differ#
Here is the full letter code table for Visa, Mastercard, Discover and American Express, as PayPal publishes it for its Orders v2 API, next to Authorize.net's description of the same letter.
| Code | PayPal meaning (matched details) | Authorize.net meaning | Same meaning? |
|---|---|---|---|
| Y | Yes: address and five-digit ZIP | Street address match, first 5 digits of ZIP match | Yes |
| X | Exact match: address and nine-digit ZIP | Street address match, all 9 digits of ZIP match | Yes |
| A | Address only (no ZIP) | Street address match, ZIP no match | Yes |
| Z | ZIP: five-digit ZIP only (no address) | Street address no match, first 5 digits of ZIP match | Yes |
| W | Whole ZIP: nine-digit ZIP only (no address) | Street address no match, all 9 digits of ZIP match | Yes |
| N | No: none matched, transaction declined | Street address no match, ZIP no match | Yes |
| R | Retry | Retry, system is unavailable | Yes |
| S | Service not supported | AVS not supported by card issuing bank | Yes |
| U | Unavailable | Address information for this cardholder is unavailable | Yes |
| G | Global unavailable | Non U.S. card issuing bank | Close |
| B | International "A": address only (no ZIP) | Address not provided for AVS check, or street address match and postal code could not be verified | No |
| E | Not allowed for MOTO (internet or phone) transactions | AVS error | No |
| P | Postal (International "Z"): postal code only | AVS not applicable for this transaction | No |
| C | International "N": none matched, transaction declined | Not listed | n/a |
| D | International "X": address and postal code | Not listed | n/a |
| F | UK-specific "X": address and postal code | Not listed | n/a |
| I | International unavailable | Not listed | n/a |
| M | Address and postal code | Not listed | n/a |
What we found comparing the two lists: Authorize.net's article lists 13 codes. Of those, 9 have the same meaning in PayPal's table, 1 is close (G), and 3 mean something different (B, E and P). PayPal lists 5 more letters, mostly for international cards. Chase's own table, which splits meanings by card network, differs again in places. So the letter alone is not enough: always read it with your own gateway's code list.
Stripe hides the letters. Its API reports address_line1_check and address_postal_code_check on the card, each one of pass, fail, unavailable or unchecked. That is easier to act on, and it keeps "no data" (unavailable) apart from "wrong data" (fail).
How we built this table: we copied each code from PayPal's "Card decline errors" page and Authorize.net's AVS support article on 29 October 2026, then compared the meanings letter by letter.
What should a store do with each AVS result?#
Group the codes by what they tell you, then decide by order risk. The table below is our own guidance, based on the code meanings above and the advice in Chase's and Stripe's merchant docs. It is a starting point, not a rule from any card network.
| Result group | Codes (letter gateways) | Stripe value | Low-risk order | High-value or first order |
|---|---|---|---|---|
| Full match | Y, X, D, F, M | both pass | Accept | Accept, still check other signals |
| Address matches, ZIP does not | A, B (PayPal meaning) | line1 pass, postal fail | Accept | Review: likely a ZIP typo or a move |
| ZIP matches, address does not | Z, W, P (PayPal meaning) | line1 fail, postal pass | Accept | Review: often an apartment number or old street address |
| Nothing matches | N, C | both fail | Review | Hold, and contact the customer before shipping |
| Check not possible | U, S, G, I, R | unavailable or unchecked | Accept, rely on other signals | Review with other signals, such as CVV, 3D Secure and velocity |
| Error | E (and B in Authorize.net's meaning) | n/a | Check your integration sends the address | Same |
Why not decline every mismatch?
- Real customers fail AVS. Stripe says "AVS checks can fail for legitimate payments." A blanket decline turns away people who just moved.
- "Unavailable" is not "wrong". Authorize.net's defaults reject R, S, U and G. Its own article says most international card issuers do not support AVS, and that G, S and U "can be used to accept international credit cards." Leave those defaults and you decline many good foreign cards.
- Context beats one code. Chase's merchant guidance is to approve when AVS and CVD match, review partial matches and suspicious combinations, and hold and verify a partial match on a large order.
A practical setup for most stores:
- Collect the full billing address for card payments, not only the ZIP, so the issuer can check both parts.
- Turn on the CVV check in your gateway. A CVV failure is a stronger signal than an AVS failure.
- Do not hard-decline "unavailable" results (U, S, G, R). Score them instead.
- Use your gateway's softer rules if it has them. Stripe Radar's newer built-in rules block on a failed postal code or CVC check "unless Stripe evaluates it as low risk"; the older rules block every failure. WooPayments' Advanced fraud protection has an "AVS Mismatch" rule that, in WooCommerce's words, blocks orders "if the two don't match" and warns that "AVS checks may not be effective depending on the countries you sell to."
- Hold high-value mismatches for a look rather than declining or shipping blindly. Contact the customer from the email or phone on the order.
- Write your rule down and check it every few months against the orders it declined and the disputes you still received.
How AVS fits with other fraud signals#
AVS is one signal among many. On its own it neither stops card testing nor proves a customer is real.
| Signal | What it catches | Where AVS falls short |
|---|---|---|
| AVS | A buyer who does not know the billing address | A match does not prove the buyer is the cardholder; little coverage outside the US, Canada and the UK |
| CVV | A buyer without the full card details | Skipped on many wallet and saved-card payments |
| 3D Secure | A buyer who cannot pass the issuer's authentication | Adds a step for the shopper |
| Velocity limits | Card testing: many cards or attempts from one source | Do not look at the address at all |
| Order risk scoring | Patterns across the order, the shopper and the network | Needs good inputs, AVS among them |
Card testers, in particular, are after one thing: whether a card number works. Address checks do not count attempts or failures, which is why card-testing protection works on attempts and failures, not on address results.
How ChargeWarden uses AVS and CVV results#
ChargeWarden reads the risk data your WooCommerce payment gateway already saves on the order and turns it into scored, written reasons. What it reads depends on the gateway, as listed in Gateway risk data:
| Gateway | What ChargeWarden reads | How it scores it |
|---|---|---|
| WooCommerce PayPal Payments (advanced card payments) | _ppcp_paypal_fraud_result, which holds PayPal's avs_code, cvv2_code and response_code | The "Gateway: review" rule fires when the security code did not match (N) or the address did not match (N or C) |
| WooPayments | The fraud outcome (allow, review or block) from WooPayments' own rules, which can include its AVS Mismatch rule, and the charge risk level | "Gateway: review" on review or block; "elevated" or "highest" risk rules on the risk level |
| WooCommerce Stripe Gateway | Whether Radar opened a review, plus an optional lookup of Radar's risk level and score | "Gateway: review" when Radar opened a review; risk level rules when the lookup is on |
ChargeWarden does not run its own AVS check and does not read Stripe's raw AVS values. It uses what the gateway decided.
Here is how that plays out with the default points in Order risk scoring. "Gateway: review" is worth 25 points and the review band starts at 40, so an address mismatch alone does not stop an order:
| Order | Rules that fire | Score | Default action |
|---|---|---|---|
Returning customer, PayPal card payment, AVS N | Gateway: review (25) | 25 | None, the reason is still listed on the order |
First order of $600, AVS N | Gateway: review (25), First order high value (15) | 40 | Added to the review queue |
First order of $600, AVS N, shipped to another country, disposable email | Gateway: review (25), First order high value (15), Billing and shipping countries differ (10), Disposable email (20) | 70 | Put on hold for review |
That is the approach this guide recommends: a mismatch counts, but it is weighed with everything else. Every point is shown with its reason, and the review queue gives one-click approve or reject. You can change any rule's points.
ChargeWarden also stops card-testing attacks on the classic checkout and the Store API, which address checks do not touch. See scored orders on the live demo, compare it with other tools in WooCommerce anti-fraud plugins compared, or buy ChargeWarden.
Related: Stripe Radar for WooCommerce, friendly fraud and SAQ A explained.
This guide is general information, not payments or legal advice. Code meanings are as published by PayPal, Authorize.net, Chase and Stripe on 29 October 2026; your gateway's documentation is the authority for your account. Visa, Mastercard, Discover, American Express, PayPal, Stripe, Authorize.net, Chase and WooCommerce are trademarks of their owners. PluginLoom is not affiliated with or endorsed by any of them.
Frequently asked questions
What does AVS mismatch mean on a credit card?
It means the billing address typed at checkout did not match the address the card issuer has on file. AVS (Address Verification Service) compares the numbers in the street address and the ZIP or postal code. A mismatch on its own does not mean fraud, and the issuer may still approve the payment.
What does it mean when a card is rejected by AVS?
The store or its payment gateway has a rule that declines payments when the address check fails or cannot be done. The issuer may even have approved the payment, and the gateway then cancelled it. Check the billing address against your card statement and try again, or use another card or payment method.
Why is my card getting declined but I have money?
A decline is not only about your balance. Common reasons are a billing address or ZIP that does not match the issuer's records, a wrong security code, the issuer's fraud checks, or the store's own fraud rules. Call the number on the back of your card to ask which it was.
Is AVS mandatory?
No law requires it. AVS only runs when the store collects the billing address and sends it with the payment, and what to do with the result is the store's decision. Chase says an automatic decline on AVS alone is the business's choice and should be weighed with other signals.
Are AVS and CVV the same?
No. AVS checks the billing address numbers against the issuer's records. CVV (also called CVC or CVV2) checks the 3 or 4 digit security code printed on the card. They return separate result codes, and a store can pass one and fail the other.
Why does AVS fail when my address is correct?
The issuer may have an old address, the address may be typed differently (for example an apartment number in the first line), the store may send only the ZIP, or the issuer may not support AVS at all, which is common outside the US, Canada and the UK.
Will I be charged after an AVS decline?
You may see a pending authorization even though the order failed. Authorize.net says the hold stays until the card issuer removes it, and that most issuers remove unclaimed authorizations within 3 to 7 days. The store cannot remove it for you.
Should a store decline every AVS mismatch?
Usually not. Stripe notes that AVS checks can fail for legitimate payments, and Authorize.net's default settings reject several codes that only mean no data was available, which blocks many international cards. Score the mismatch with other signals and review risky orders instead.
Sources
The date shows when we last checked that the source still says what we say it says.
- PayPal Developer: Card decline errors (AVS and CVV codes, Orders v2)developer.paypal.com. Checked 2026-10-29
- Authorize.net Support: What is Address Verification Service (AVS) and how to use and configure it?support.authorize.net. Checked 2026-10-29
- Authorize.net Support: Why was my customer charged even though the transaction declined?support.authorize.net. Checked 2026-10-29
- Chase: AVS and card verification codeschase.com. Checked 2026-10-29
- Stripe Docs: Verification checksdocs.stripe.com. Checked 2026-10-29
- Stripe Docs: Radar rules (CVC and AVS rules)docs.stripe.com. Checked 2026-10-29
- Stripe API: PaymentMethod object, card.checksdocs.stripe.com. Checked 2026-10-29
- WooCommerce Docs: WooPayments fraud protectionwoocommerce.com. Checked 2026-10-29
- TabaPay Developers: Address Verification Service (AVS)developers.tabapay.com. Checked 2026-10-29
- GitHub: WooCommerce PayPal Payments, PayPalGateway.php and FraudProcessorResponse.phpgithub.com. Checked 2026-10-29
The short version
Put this guide to work with ChargeWarden
The problem
Card-testing bots hit the WooCommerce checkout and the Store API with stolen cards, which can bring fees, disputes and trouble with your payment provider.
How ChargeWarden solves it
ChargeWarden limits attempts on both checkouts, scores every order with written reasons, tracks ACH return rates for BankBridge stores and inventories the scripts on your payment pages.
Plans
Single store
$129per month
Buy ChargeWarden, Single store5 storesRecommended
$199per month
Buy ChargeWarden, 5 storesUnlimited stores
$349per month
Buy ChargeWarden, Unlimited stores
- 14-day store credit
- Secure checkout by Stripe
- Cancel any time