跳转到主要内容
卡片支付是在线支付的基础,全球接受并受到客户的信任。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所有借记卡
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'
});
除非有特别理由排除其中一项,否则应同时包括creditdebit。许多客户更偏好借记卡,而且通常费用更低。

3D Secure 身份验证

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

何时触发 3DS

当以下情况发生时,3DS 会自动触发:
  • 卡片网络要求
  • 区域法规要求(例如,欧洲的 PSD2)
  • 交易被标记为高风险

强制 3DS

您可以要求所有交易都启用 3DS:
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  force_3ds: true,
  return_url: 'https://example.com/success'
});
为所有交易启用3DS可降低欺诈风险,但可能稍微降低转化率,因为部分客户在认证过程中放弃。

处理认证失败

当支付需要 3DS 认证时,支付会经过中间状态,继而成功或失败:
状态含义应对措施
requires_customer_action客户必须完成 3DS 验证让客户在结账时完成认证
requires_payment_method客户从未提供付款方式(未输入详情或放弃提示)— 通常是流失而非拒绝重新吸引客户完成结账;参见 放弃购物车恢复
如果认证未完成,支付会因以下拒绝代码之一而失败:
  • AUTHENTICATION_FAILURE — 客户无法认证。
  • AUTHENTICATION_REQUIRED — 需要认证但未执行。
  • AUTHENTICATION_TIMEOUT — 客户未及时响应。
请参阅 交易失败 参考,以获取每种情况的建议操作。

结账时与续订时

  • 结账时(客户在场): 客户在场,因此 3DS 验证在结账时显示。如果失败,请他们重试或使用另一张卡。
  • 续订时(客户不在场): 客户不在场,因此无法实时显示 3DS 验证。如果续订需要认证,订阅状态转为 on_hold。通过提示客户返回并更新付款方式来恢复 — 请参阅 处理支付失败订阅催收

保存的付款方式

客户可以保存他们的卡,以便未来更快地结账。 原始卡号从未存储。 Dodo 处理所有合规事宜。 卡片绑定到特定客户。

启用已保存的卡

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'
});

一键购买

// 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
美国Visa424242424242424206/32123
美国Mastercard555555555555444406/32123
印度Visa457623891277145006/32123
印度Mastercard540916266938103406/32123
地区品牌卡号场景
美国Visa4000000000000002通用拒绝
美国Mastercard4000000000009995资金不足
印度Visa4706131211212123通用拒绝
印度Mastercard5105105105105100通用拒绝
测试卡仅在测试模式下工作。切勿将其用于生产交易。

安全与合规

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

最佳做法

不要限制卡类型,除非必要。客户期望他们的首选卡可以使用。 在您的结账页面显示 Visa、Mastercard、Amex 标志以建立信任。 显示清晰的错误信息。不要向客户显示原始错误代码。 保存的付款方式可显著提升重复购买的转化。

故障排除

原因: 资金不足、卡过期、CVV 错误、银行欺诈保护。 解决方案: 请客户核对信息或尝试其他卡。在 交易失败 参考中查找具体的拒绝 Error Code 及其建议操作,并参阅 处理支付失败 以进行程序化处理。 原因: 客户放弃、银行系统不可用、超时。 解决方案: 重试或请客户联系他们的银行。参见 处理认证失败 中涉及的支付状态和拒绝代码。 原因: 不支持的地区卡、预付限制。 解决方案: 客户应尝试使用其他主要网络的卡。

相关页面

所有支持的付款方式。 使用已保存卡进行一键购买。 完整测试指南。 使用卡片的定期帐单。
最后修改于 2026年6月18日