# AVS 不匹配：含义及减少拒付的方法

> AVS 不匹配意味着客户在结账时输入的账单地址与发卡机构记录不一致。了解 AVS 代码、付款被拒的原因以及解决方法。
- **Author**: Ayush Agarwal
- **Published**: 2026-10-02
- **Category**: Payments, Fraud Prevention
- **URL**: https://dodopayments.com/blogs/zh/avs-mismatch

---

AVS 不匹配意味着，客户在结账时输入的账单地址与发卡机构留存的地址不一致。地址验证服务（AVS）会比较街道地址中的数字部分以及 ZIP 码或邮政编码，返回一个字母结果代码，然后由发卡机构或商户决定批准还是拒绝这笔付款。

不匹配并不能证明存在风控问题。它通常意味着客户最近搬家、输入了错别字，或者使用的是来自 AVS 支持程度很低的国家或地区的卡。但由于盗用卡号的欺诈者很少知道真实的账单地址，许多结账系统会将 AVS 检查失败视为风险信号，有些系统甚至会直接因此拒绝付款。

## AVS 不匹配是什么意思？

在美国，AVS 通常只比较两项内容：

- **街道地址中的数字。** 对于"1450 Maple Avenue, Apt 3B"，比较的是门牌号 1450。街道名称以及" Ave"和"Avenue"这样的缩写通常不影响结果。
- **ZIP 码或邮政编码。** 可以是 5 位 ZIP 码，也可以是提供了 9 位 ZIP+4 时使用 9 位编码。

因此，"AVS 不匹配"可能意味着街道门牌号不匹配、邮政编码不匹配，或者两者都不匹配。每种情况都会对应不同的响应代码，所以相比"不匹配"这个词本身，具体代码更重要。

AVS 本身不会拒绝任何付款，它只负责返回结果。拒绝发生在之后，可能由发卡银行触发，也可能由商户的风控规则触发（例如"如果 AVS 结果为 N，则拒绝"）。

## 地址验证服务如何运作

以下是一笔银行卡授权过程中 AVS 检查所经过的路径：

```mermaid
flowchart LR
    A["Customer enters card and billing address"] --> B["Checkout / payment gateway"]
    B --> C["Card network"]
    C --> D["Issuing bank compares address to records"]
    D --> E["AVS response code returned"]
    E --> F["Issuer and merchant risk decision"]
```

支付网关会在授权请求中发送地址，发卡机构将街道门牌号和邮政编码与其记录进行比较，然后 AVS 结果代码会与批准或拒绝响应一同返回。即使发卡机构批准了付款，商户或平台仍可根据该代码接受、标记或撤销这笔交易。

这就是为什么客户可能会看到付款被拒，而银行却表示"我们已经批准了"。发卡机构批准了扣款，但商户的风控规则拒绝了它，授权随后被撤销或等待过期。

## AVS 响应代码详解

AVS 代码由单个字母组成。Visa 的代码集合是大多数支付处理商映射时参考的标准，其他卡组织也使用相似的字母，但存在一些差异。你最可能看到以下代码：

| Code | Meaning                         | Typical risk reading       |
| ---- | ------------------------------- | -------------------------- |
| Y    | 街道地址和 5 位 ZIP 码匹配      | 完全匹配，强信号           |
| X    | 街道地址和 9 位 ZIP 码匹配      | 完全匹配，强信号           |
| A    | 街道地址匹配，ZIP 码不匹配      | 部分匹配                   |
| Z    | 5 位 ZIP 码匹配，街道地址不匹配 | 部分匹配                   |
| W    | 9 位 ZIP 码匹配，街道地址不匹配 | 部分匹配                   |
| N    | 街道地址和 ZIP 码均不匹配       | 不匹配，最高风险           |
| U    | 地址信息不可用                  | 未知，通常为非美国发卡机构 |
| R    | 重试，发卡机构系统不可用或超时  | 未知，临时性问题           |
| S    | 发卡机构不支持 AVS              | 未知                       |
| G    | 非美国发卡机构不参与 AVS        | 未知，国际卡               |

Visa 一直在整合其结果，因此商户目前主要会收到 Y、A、Z、N、U 和 R；X、W、S 和 G 已被弃用或重新映射。其他卡组织和国际发卡机构仍可能返回其他字母（例如 D 或 M，表示国际卡完全匹配），因此建议将代码归入"完全匹配""部分匹配""不匹配"和"不可用"等结果类别，而不是为每个字母分别硬编码。

### 一个完整示例

假设发卡机构留存的地址是"1450 Maple Avenue, Apt 3B, Austin, TX 78704"。以下是示例结果：

- "1450 Maple Ave, Austin, TX 78704"返回 **Y**。街道门牌号和 ZIP 码匹配，缩写不影响结果。
- "1540 Maple Avenue, Austin, TX 78704"返回 **Z**。客户调换了门牌号中的数字。
- "1450 Maple Avenue, Austin, TX 78741"返回 **A**。ZIP 码错误，可能是客户填写了旧地址。
- "22 Oak Street, Denver, CO 80202"返回 **N**。没有任何内容匹配，这通常是盗卡者猜测地址时产生的结果。

只有最后一种情况单独看才是有意义的风控信号。中间两种是典型的真实客户输入错误。

## 为什么真实客户会无法通过 AVS 检查

大多数 AVS 不匹配都来自真实客户。常见原因包括：

- **客户最近搬过家。** 卡片仍关联旧账单地址，或者客户已经向银行更新了地址，但发卡机构的记录尚未同步。
- **输入错误和自动填充错误。** 浏览器自动填充有时会插入收货地址、工作地址或过期的 ZIP 码。
- **公寓和单元号。** 有些客户会把单元号放在前面（"3B 1450 Maple"），或将其与街道门牌号合并，从而干扰数字比较。
- **在美国、加拿大和英国以外发行的卡。** AVS 在这三个市场的支持最广泛。在其他地区，发卡机构可能返回 U、G 或 S，而有些商户会错误地将"不可用"当成"失败"。
- **邮政编码格式。** 英国邮编如"SW1A 1AA"或加拿大邮编如"K1A 0B1"都包含字母。如果你的表单只接受 5 位数字，客户根本无法输入有效值。
- **预付卡和礼品卡。** 许多预付卡没有登记地址，或者要求持卡人先在线登记地址。
- **公司卡和虚拟卡。** 公司卡通常关联总部地址，而不是员工所在地址。
- **收货地址和账单地址混淆。** 如果表单没有明确标注"账单地址"，用户可能会填写希望订单送达的地址。

对于面向全球销售的 SaaS，国际因素尤其重要：严格的 AVS 规则会悄悄拦截优质客户，因为他们的发卡机构从未按美国的方式验证地址。

## AVS、CVV 与 3D Secure 的区别

AVS 是银行卡无卡支付场景中常见的三种检查方式之一，三者结合使用效果最佳。

|                    | AVS                                          | CVV / CVC                              | 3D Secure                                             |
| ------------------ | -------------------------------------------- | -------------------------------------- | ----------------------------------------------------- |
| 检查内容           | 将街道门牌号和邮政编码与发卡机构记录进行比较 | 卡片上的 3 位或 4 位安全码             | 通过发卡机构认证（应用、OTP、生物识别）验证持卡人身份 |
| 能证明什么         | 买家知道账单地址                             | 买家很可能持有实体卡或掌握卡片完整信息 | 实际持卡人批准了这笔付款                              |
| 欺诈拒付的责任转移 | 否                                           | 否                                     | 通常会，在认证成功时转移给发卡机构                    |
| 全球覆盖范围       | 主要覆盖美国、加拿大和英国                   | 全球                                   | 全球；根据 SCA，在 EEA 和英国的许多付款中为必需项     |
| 对客户的影响       | 低，只需填写表单字段                         | 低                                     | 可能增加验证步骤                                      |
| 弱点               | 泄露的地址数据会使其失效，国际支持较弱       | 数据泄露时可能与卡片数据一同泄露       | 如果实施不当，验证步骤可能导致客户流失                |

关键区别在于责任承担。如果一张被盗的卡片连同被盗的地址通过了 Y 结果，而真实持卡人随后发起争议，商户仍会承担损失。成功的 [3D Secure 身份验证](https://dodopayments.com/blogs/3d-secure-3ds-payment-authentication)通常会将责任转移给发卡机构，因此它是处理高风险订单的更强工具。在欧洲，根据 [Strong Customer Authentication](https://dodopayments.com/blogs/strong-customer-authentication)，它通常也是强制要求。

## 权衡：严格的 AVS 规则与转化率

每条 AVS 规则都处于两种成本之间：风控损失和误拒绝。

只批准 Y 和 X 会减少更多风控问题，但也会拒绝所有门牌号输入颠倒或使用非美国卡片的客户。完全忽略 AVS 会接受这些客户，也会接受什么都没猜对的盗卡者。

误拒绝的代价很高，因为它们往往悄无声息：客户只会直接离开。对于订阅业务，严格的规则可能会阻止一位最近搬家的忠实客户续费。我们的 [失败付款导致的被动流失指南](https://dodopayments.com/blogs/involuntary-churn-failed-payments)介绍了这些损失会如何快速累积。

对于大多数在线业务，合理的折中方案是：

- **N（不匹配）：** 视为高风险。拒绝付款，或升级到 3DS，尤其适用于高金额或首次订单。
- **A、Z、W（部分匹配）：** 接受，除非其他信号也存在问题（新账户、IP 国家不匹配、短时间内多次尝试）。
- **U、R、S、G（不可用）：** 不要视为失败。结合 CVV、3DS 和行为信号进行判断。
- **Y、X（完全匹配）：** 接受，但要记住它不提供责任保护。

目标是将 AVS 作为风控决策的一个输入，而不是单独作为拦截条件。

## 如何解决因 AVS 不匹配导致的拒付

### 优化结账表单

- **将字段标记为"账单地址"**，并添加"你的银行卡账单寄送地址"等提示。
- **使用地址自动补全**来减少门牌号和邮政编码的输入错误，同时允许客户编辑补全结果。
- **根据国家或地区显示相应的邮政编码字段。** 英国和加拿大应接受字母数字混合的邮编；对于不使用 ZIP 码的国家，不要强制显示 ZIP 字段。
- **将单元号或公寓号与街道地址分开**，确保门牌号保持清晰。
- **在实体商品场景中区分账单地址和收货地址**，并提供清晰的"与收货地址相同"复选框。

### 设置更智能的规则

- **不要因部分匹配而直接拒绝。** 只有 ZIP 码或只有街道地址匹配，通常意味着客户是真实用户。
- **不要将"不可用"视为"失败"**，尤其是对于国际卡。
- **升级验证，而不是直接拒绝。** 对于大额订单的 N 结果，可以请求 3DS，让真实客户有机会完成付款，同时为你提供责任保护。
- **组合多个信号。** AVS 加上 CVV 和频率检查，比单独使用 AVS 能捕获更多风控问题，包括同时发起大量小额授权的[银行卡测试攻击](https://dodopayments.com/blogs/card-testing-fraud)。

### 引导客户重试

当付款因地址问题失败时，告诉客户需要检查什么："请确认你的账单地址和邮政编码与银行记录一致。"模糊地提示"你的银行卡被拒绝"只会让用户放弃购买。

### 监控拒付代码

按国家或地区和卡片类型跟踪 AVS 结果及拒付原因。某个地区的 N 结果突然增加，可能表示正在遭受攻击；而新市场持续出现 U 结果，则说明你的规则可能过于严格。我们的[信用卡拒付代码参考](https://dodopayments.com/blogs/credit-card-decline-codes)和[减少付款拒绝指南](https://dodopayments.com/blogs/reduce-payment-declines)介绍了更广泛的情况，[拒付欺诈防范](https://dodopayments.com/blogs/chargeback-fraud-prevention)则说明了争议扣款成功通过后该如何处理。

## 在代码中处理地址相关失败

在 Dodo Payments 中，失败的付款会触发 `payment.failed` webhook，并包含 `error_code` 和 `error_message`。正如[处理付款失败指南](https://docs.dodopayments.com/developer-resources/handle-payment-failures)所述，应区分硬拒付和软拒付进行处理。不要围绕猜测的"AVS"代码构建逻辑，而应在[交易失败参考](https://docs.dodopayments.com/api-reference/transaction-failures)中查找确切的地址或验证失败代码。示例：

```typescript
// 硬拒付：不要重试，请求使用其他付款方式
const HARD_DECLINES = new Set([
  "STOLEN_CARD",
  "LOST_CARD",
  "PICKUP_CARD",
  "DO_NOT_HONOR",
  "FRAUDULENT",
  "INVALID_ACCOUNT",
]);

// 软拒付：可以安全重试，或请求客户再次尝试
const SOFT_DECLINES = new Set([
  "INSUFFICIENT_FUNDS",
  "PROCESSING_ERROR",
  "NETWORK_ERROR",
  "TRY_AGAIN_LATER",
]);

// 在此处添加交易失败参考中的地址或验证失败代码
const CHECK_DETAILS_CODES = new Set<string>([]);

export async function onPaymentFailed(event: any) {
  const payment = event.data;
  const code = payment.error_code;

  if (CHECK_DETAILS_CODES.has(code)) {
    await emailCustomer(
      payment.customer.email,
      "请检查你的账单地址和邮政编码是否与银行记录一致，然后重试。",
    );
  } else if (HARD_DECLINES.has(code)) {
    await emailCustomer(
      payment.customer.email,
      "你的银行拒绝了这张卡。请使用其他付款方式。",
    );
  } else if (SOFT_DECLINES.has(code)) {
    await scheduleRetryReminder(payment.payment_id);
  }
}
```

对于高金额首次购买等高风险订单，要求进行 3DS 验证比使用地址数据能提供更强的信号：

```typescript
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: "pdt_abc", quantity: 1 }],
  customer: { email: "buyer@example.com" },
  force_3ds: true,
  return_url: process.env.CHECKOUT_RETURN_URL,
});
```

请按照 [webhooks 文档](https://docs.dodopayments.com/developer-resources/webhooks)中的说明，在处理事件前验证 webhook 签名。关于付款通知的设计，请参阅我们关于[付款 webhook](https://dodopayments.com/blogs/webhooks-payment-notifications)的文章。

## AVS 不匹配后客户应该怎么做

如果你是买家，银行卡因地址或 AVS 消息被拒绝：

1. **在银行应用中检查账单地址**，而不是收货地址，并准确复制，包括邮政编码。
2. **将公寓或套房号填写在第二行地址中。**
3. **重试一到两次即可**，不要连续尝试十次。反复失败可能会触发银行的风控控制。
4. **如果最近搬过家，请向银行更新地址。**
5. **如果你的卡是预付卡，或发卡地区对 AVS 支持有限，请使用其他付款方式。**
6. **联系商户，而不只是联系银行**，因为拒付可能是由商户侧规则触发的。

被拒的授权可能会显示为待处理扣款，持续几天。这只是资金冻结，并不代表付款成功，也不会生成收据。我们的[发票与收据区别说明](https://dodopayments.com/blogs/invoice-vs-receipt)介绍了成功付款后你应该收到哪些文件。

## MoR（名义商户）如何为你处理风控检查

调整 AVS、CVV 和 3DS 规则需要持续投入。由于 [MoR（名义商户）](https://dodopayments.com/blogs/what-is-a-merchant-of-record)是法律上的销售方并承担付款风险，因此它可以替你承担其中大量工作。

使用 Dodo Payments：

- **当卡组织或法规要求时，系统会请求 3DS**，例如欧洲的 PSD2；如果交易被标记为高风险，也会请求 3DS。你还可以通过 `force_3ds: true` 强制启用。请参阅[银行卡付款文档](https://docs.dodopayments.com/features/payment-methods/cards)。
- **硬拒付和软拒付会区别处理。** Payment Retries 会针对续费失败时的软拒付进行重试，而 `STOLEN_CARD` 等硬拒付不会重试。我们的[付款重试逻辑](https://dodopayments.com/blogs/payment-retry-logic)文章解释了原因。
- **失败付款通知**会通过电子邮件、webhooks、移动端和控制面板发送。
- **拒付和合规事务由 Dodo 处理**，同时负责在 190 多个国家或地区收取并汇缴税款。

如果续费失败，订阅会暂停，客户可以在 Customer Portal 中更新银行卡。这样一来，最近搬家却忘记通知银行的客户也有机会恢复订阅。每个[计费周期](https://dodopayments.com/blogs/billing-cycle)的时间安排会决定这些重试何时触发。

## 常见问题

### AVS 不匹配时，付款还能成功吗？

可以。即使地址不匹配，发卡机构也可能批准授权，许多商户也会根据设计接受部分匹配。只有在发卡机构拒绝授权，或商户的风控规则拒绝该结果时，不匹配才会导致付款被拒。

### AVS 适用于在美国以外发行的卡吗？

AVS 对美国、加拿大和英国发行的卡支持最广泛。许多其他发卡机构会返回 U、S 或 G 等"不可用"或"不支持"代码，这些代码不应被视为检查失败。

### AVS 完全匹配能保护我免受拒付吗？

不能。AVS 不会将风控责任转移给发卡机构，因此持有被盗卡片和被盗地址的欺诈者仍可能通过 AVS，而商户仍需承担拒付。一旦 3D Secure 身份验证成功，通常才会转移责任。

### 我应该拒绝只有 ZIP 码匹配的订单吗？

通常不应该。只有 ZIP 码匹配（Z）或只有街道地址匹配（A），大多数情况下是由输入错误或客户最近搬家造成的。除非 IP 国家不匹配、新账户或反复尝试等其他信号也指向风控问题，否则应接受这些订单。

## 结论

AVS 不匹配说明客户在结账时输入的账单地址与发卡机构记录并不完全一致。它是有用的风控信号，但并不稳定：输入错误、最近搬家、单元号以及国际卡都可能触发不匹配，而完全匹配也无法提供拒付保护。

实际操作中，应将地址验证服务作为多个输入之一。通过清晰的字段标签和正确的邮政编码字段收集准确的账单数据，接受部分匹配和不可用结果，对真正高风险的订单升级到 3DS，并根据硬拒付和软拒付分别处理失败付款。如果你不想自行维护这些规则，[Dodo Payments](https://dodopayments.com)会作为你的 MoR（名义商户）处理 3DS、拒付处理和拒付争议，并提供透明的[定价](https://dodopayments.com/pricing)且不收取月费。
---
- [More Payments articles](https://dodopayments.com/blogs/category/payments)
- [All articles](https://dodopayments.com/blogs)