> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 信用卡和借记卡

> 通过 Dodo Payments 全球接受所有主要信用卡和借记卡网络。了解 3D Secure、保存的卡片、令牌化和区域卡片支持。

卡片支付是在线支付的基础，全球接受并受到客户的信任。Dodo Payments 支持所有主要卡片网络，内置防欺诈保护和 PCI 合规性。

## 支持的卡片网络

### 全球网络

| 网络                   | 覆盖               |
| :------------------- | :--------------- |
| **Visa**             | 全球领先，全球 40 亿张卡片  |
| **Mastercard**       | 全球覆盖，安全性强        |
| **American Express** | 高端持卡人，消费更高       |
| **Discover**         | 以美国为主，正在全球扩展     |
| **JCB**              | 日本领先，正在亚洲扩张      |
| **UnionPay**         | 在中国主导，超过 80 亿张卡片 |
| **Diners Club**      | 高端国际旅行者          |

### 区域网络

| 网络                     | 区域       |
| :--------------------- | :------- |
| **Interac**            | 加拿大的借记网络 |
| **Cartes Bancaires**   | 法国的国家网络  |
| **Korean Local Cards** | 韩国国内网络   |
| **Rupay**              | 印度的国家网络  |

## 配置

请在`allowed_payment_method_types`中使用这些值：

| 类型       | 描述    |
| :------- | :---- |
| `credit` | 所有信用卡 |
| `debit`  | 所有借记卡 |

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

<Tip>
  除非有特别理由排除其中一项，否则应同时包括`credit`和`debit`。许多客户更偏好借记卡，而且通常费用更低。
</Tip>

## 3D Secure 身份验证

3D Secure (3DS) 增加了一层身份验证，可以通过核实持卡人身份来减少欺诈和退款。

### 何时触发 3DS

当以下情况发生时，3DS 会自动触发：

* 卡片网络要求
* 区域法规要求（例如，欧洲的 PSD2）
* 交易被标记为高风险

### 强制 3DS

您可以要求所有交易都启用 3DS：

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  force_3ds: true,
  return_url: 'https://example.com/success'
});
```

<Note>
  为所有交易启用3DS可降低欺诈风险，但可能稍微降低转化率，因为部分客户在认证过程中放弃。
</Note>

### 处理认证失败

当支付需要 3DS 认证时，支付会经过中间状态，继而成功或失败：

| 状态                         | 含义                                | 应对措施                                                                |
| -------------------------- | --------------------------------- | ------------------------------------------------------------------- |
| `requires_customer_action` | 客户必须完成 3DS 验证                     | 让客户在结账时完成认证                                                         |
| `requires_payment_method`  | 客户从未提供付款方式（未输入详情或放弃提示）— 通常是流失而非拒绝 | 重新吸引客户完成结账；参见 [放弃购物车恢复](/features/recovery/abandoned-cart-recovery) |

如果认证未完成，支付会因以下拒绝代码之一而失败：

* `AUTHENTICATION_FAILURE` — 客户无法认证。
* `AUTHENTICATION_REQUIRED` — 需要认证但未执行。
* `AUTHENTICATION_TIMEOUT` — 客户未及时响应。

请参阅 [交易失败](/api-reference/transaction-failures) 参考，以获取每种情况的建议操作。

#### 结账时与续订时

* **结账时（客户在场）：** 客户在场，因此 3DS 验证在结账时显示。如果失败，请他们重试或使用另一张卡。
* **续订时（客户不在场）：** 客户不在场，因此无法实时显示 3DS 验证。如果续订需要认证，订阅状态转为 `on_hold`。通过提示客户返回并更新付款方式来恢复 — 请参阅 [处理支付失败](/developer-resources/handle-payment-failures) 和 [订阅催收](/features/recovery/subscription-dunning)。

## 保存的付款方式

客户可以保存他们的卡，以便未来更快地结账。

原始卡号从未存储。
Dodo 处理所有合规事宜。
卡片绑定到特定客户。

### 启用已保存的卡

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  show_saved_payment_methods: true,
  customer: { customer_id: 'cus_existing_123' },
  return_url: 'https://example.com/success'
});
```

### 一键购买

```javascript theme={null}
// Get customer's saved payment methods
const methods = await client.customers.retrievePaymentMethods('cus_123');

// Use saved card for instant checkout
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  payment_method_id: methods.items[0].payment_method_id,
  confirm: true,
  return_url: 'https://example.com/success'
});
```

## 测试

| 地区 | 品牌         | 卡号                 | 到期    | CVV |
| :- | :--------- | :----------------- | :---- | :-- |
| 美国 | Visa       | `4242424242424242` | 06/32 | 123 |
| 美国 | Mastercard | `5555555555554444` | 06/32 | 123 |
| 印度 | Visa       | `4576238912771450` | 06/32 | 123 |
| 印度 | Mastercard | `5409162669381034` | 06/32 | 123 |

| 地区 | 品牌         | 卡号                 | 场景   |
| :- | :--------- | :----------------- | :--- |
| 美国 | Visa       | `4000000000000002` | 通用拒绝 |
| 美国 | Mastercard | `4000000000009995` | 资金不足 |
| 印度 | Visa       | `4706131211212123` | 通用拒绝 |
| 印度 | Mastercard | `5105105105105100` | 通用拒绝 |

测试卡仅在测试模式下工作。切勿将其用于生产交易。

## 安全与合规

| 功能             | 描述      |
| :------------- | :------ |
| **PCI DSS 一级** | 最高级别认证  |
| **令牌化**        | 卡号立即令牌化 |
| **欺诈评分**       | 实时风险评估  |
| **AVS**        | 地址验证服务  |
| **CVV 验证**     | 安全码验证   |
| **3D Secure**  | 持卡人认证   |

## 最佳做法

不要限制卡类型，除非必要。客户期望他们的首选卡可以使用。

在您的结账页面显示 Visa、Mastercard、Amex 标志以建立信任。

显示清晰的错误信息。不要向客户显示原始错误代码。

保存的付款方式可显著提升重复购买的转化。

## 故障排除

**原因：** 资金不足、卡过期、CVV 错误、银行欺诈保护。

**解决方案：** 请客户核对信息或尝试其他卡。在 [交易失败](/api-reference/transaction-failures) 参考中查找具体的拒绝 `Error Code` 及其建议操作，并参阅 [处理支付失败](/developer-resources/handle-payment-failures) 以进行程序化处理。

**原因：** 客户放弃、银行系统不可用、超时。

**解决方案：** 重试或请客户联系他们的银行。参见 [处理认证失败](#handling-authentication-failures) 中涉及的支付状态和拒绝代码。

**原因：** 不支持的地区卡、预付限制。

**解决方案：** 客户应尝试使用其他主要网络的卡。

## 相关页面

所有支持的付款方式。

使用已保存卡进行一键购买。

完整测试指南。

使用卡片的定期帐单。
