调至内容部分
创建账户
或
登录
Stripe 文档徽标
/
询问人工智能
创建账户
登录
开始
付款
财务自动化
平台和交易市场
资金管理
开发人员工具
开始
付款
财务自动化
开始
付款
财务自动化
平台和交易市场
资金管理
概览探索所有产品
开始构建
开始开发
项目示例
关于 API
    API 一览
    Payment Intents API
    Setup Intents API
    支付方式
    产品和价格
    Older API
    发布阶段
Build with LLMs
在无代码的情况下使用 Stripe
设置 Stripe
创建账户
网页端管理平台
移动端管理平台
迁移到 Stripe
管理欺诈风险
了解欺诈
Radar 欺诈保护
管理争议
验证身份
首页开始About the APIs

Payment Methods API

了解驱动一系列全球支付方式的 API。

复制页面

利用 Payment Methods API,可通过单一 API 接受多种支付方式。PaymentMethod 对象包含创建付款所需的支付方式详情。利用 Payment Methods API,您可以组合 PaymentMethod:

  • 用 PaymentIntent 收款
  • 用 SetupIntent 和 Customer 保存付款详情供以后使用

支持的支付方式

要确定某个具体地点使用哪种支付方式,请查看支付方式指南。

该指南包括不同地区可以使用的支付方式、每种支付方式特征的详细说明以及它们最相关的地理区域。您可以在管理平台中启用任何可用的支付方式。激活通常是即时的,不需要额外的合同。

客户操作

某些支付方式要求您的客户采取额外的步骤来完成付款。PaymentIntent 对象的 next_action 参数指定了客户操作的类型。

客户需要采取的一些常见操作有:

  • 重定向到他们银行的线上服务页面来验证并批准付款。
  • 通过提供您发布到 Stripe API 的一次性验证码(例如微存款)来验证账户的所有权。
  • 通过他们银行的线上服务页面推动资金(例如银行转账的情况)。

并非所有支付方式都要求额外的客户操作。例如,银行卡付款(要求 3DS 验证的除外)要求在收集完银行卡详情后再进一步验证。

注意

对于需要客户操作的支付方式,配置 Webhook 接收端来接收付款成功或失败的通知。

付款成功的立即或延迟通知

有些支付方式会在尝试交易后立即返回付款状态(例如银行卡付款),但其他方式会有一个延迟,例如 ACH 借记。对于那些立即返回付款状态的支付方式,PaymentIntent 状态会变为 succeeded 或 requires_payment_method。succeeded 状态保证您可以从客户收到资金。

延迟通知型支付方式在延迟期间不保证支付。PaymentIntent 对象的状态会是 processing,直至付款状态成功或是失败。这段时间内,很多商家会保持处于_待处理_状态的订单,等待付款成功后再履行订单。

注意

​​对于延迟通知型支付方式,请配置 Webhook 端点以通知付款是否成功。

一次性使用或重复使用

您可以重复使用某些支付方式(例如银行卡或银行借记)进行额外的付款,不需要再次授权和收集支付详情。

为减少未来的银行拒付和支付阻力(例如要求的验证),您应该始终设置可重复使用的支付方式以供未来使用。对于可重复使用的支付方式,可以在接受付款时设置以供未来使用,也可以在不接受付款的情况下设置以供将来使用。

单次使用的支付方式(例如某些类型的银行转账)不能绑定到客户,因为在尝试付款后即作废。

用 Webhook 跟踪付款状态

通过为需要客户操作或付款通知延迟时的付款方式创建 Webhook 端点或其他类型的事件接收端 来配置 Webhook。Stripe 在 PaymentIntent 状态更新时发送以下事件:

事件描述后续步骤
payment_intent.processing客户的付款已成功提交至 Stripe。仅适用于延迟通知型支付方式。等待发起的付款成功或失败
payment_intent.succeeded付款成功。交付购买的商品或服务。
payment_intent.payment_failed付款失败了。发送邮件或推送通知,要求客户使用另一支付方式。

除设置事件接收端外,您也可以用以下选项构建来侦听事件:

  • 如果您的公司使用延迟通知型支付方式的交易较少,则可在 Stripe 管理平台中手动跟踪付款的状态。通过管理平台可以查看您的所有 Stripe 付款,发送邮件收据,处理提现或重试失败的付款。
  • 使用轮询(例如,重复检索某个 PaymentIntent 以查看其状态)。请注意,轮询的可靠性要低很多,而且不适合规模操作。Stripe 还对 API 请求有强制性的速率限制,因此在使用轮询方法时,一定要格外小心。
  • 通过集成合作伙伴的应用程序,使用它们来处理常见的业务事件,比如自动化或市场与销售。

PaymentMethod 对象

PaymentMethod 中包含创建付款时可重复使用的支付方式详情(例如银行卡到期日或账单地址),不包含特定交易信息(例如金额、货币)。PaymentMethod 会绑定到 PaymentIntent,用以表示付款生命周期中的状态。每个 PaymentMethod 都有一个类型属性(例如 "type": "sepa_debit")和一个名称与类型相匹配的额外散列,并包含 PaymentMethod 类型的特定信息(例如 "sepa_debit":{})。sepa_debit PaymentMethod 对象示例:

{ "id": "pm_123456789", "object": "payment_method", "billing_details": { "address": {...}, "email": "jenny@example.com", "name": "Jenny Rosen", "phone": "+335555555555" }, "sepa_debit": { "bank_code": "37040044", "branch_code": "94832", "country": "FR", "fingerprint": "ygEJfUjzWMGyWnZg", "last4": "3000" }, "type": "sepa_debit", (...) }

注意

为安全地处理敏感支付信息并自动处理客户操作,Stripe 建议您用 Stripe.js 创建支付方式。

另见

  • 支付方式指南
  • Payment Methods API 参考
此页面的内容有帮助吗?
是否
需要帮助?联系支持。
加入我们的早期使用计划。
查看我们的更改日志。
有问题?联系销售。
LLM? Read llms.txt.
Powered by Markdoc