调至内容部分
创建账户
或
登录
Stripe 文档徽标
/
询问人工智能
创建账户
登录
开始
付款
销售收入
平台和交易市场
资金管理
开发人员工具
概览
关于 Stripe 支付
升级您的集成
支付分析
线上付款
概览查找您的用例Managed Payments
使用 Payment Link
构建结账页面
构建高级集成
构建应用内集成
支付方式
添加支付方式
    概览
    支付方式集成选项
    在管理平台中管理默认支付方式
    支付方式类型
    银行卡
    使用 Stripe 余额支付
    银行借记
    银行重定向
    银行转账
    贷记转账(来源)
    先买后付
    实时付款
    付款凭单
      Boleto
      Konbini
        收款
      Multibanco
      OXXO
    钱包
    按国家启用本地支付方式
    自定义支付方式
管理支付方式
用 Link 更快结账
支付接口
Payment Links
结账
Web Elements
应用内 Element
支付场景
自定义支付流程
灵活收单
编排
线下支付
Terminal
其他 Stripe 产品
Financial Connections
加密货币
Climate
首页付款Add payment methodsVouchersKonbini

Konbini 支付

用 Payment Intents 和 Payment Methods APIs 实现 Konbini 收款,这是日本在便利店常用的一种支付方式。

复制页面

注意

Stripe 通过评估客户的货币、支付方式限制和其他参数,自动为客户显示支付方式选项。建议用接受付款中的说明,从 Stripe 管理平台配置您的支付方式。

如果想继续用 Checkout 手动配置向客户显示的支付方式,请使用本指南。否则,请更新您的集成以在管理平台中配置支付方式。

Konbini 是一种一次性使用的支付方式,客户需要进行额外的步骤来完成付款。客户通过在日本便利店提供一个付款码、确认码并支付现金,完成付款。Stripe 会在付款完成时给您通知。

确定兼容性

支持的商家所在地:JP

支持的货币:jpy

展示货币:jpy

支付模式:Yes

设置模式:No

订阅模式:No

Checkout Session 必须满足以下所有条件才能支持 Konbini 付款:

  • 所有行项目的价格都必须使用同一币种 (JPY)。
  • 您只能使用一次性的行项目(不支持经常性订阅方案)。

接受付款

注意

使用本指南之前,先构建一个集成来用 Checkout 接受付款。

使用本指南了解如何启用 Konbini — 它展示了用银行卡收款和用 Konbini 收款之间的区别。

启用 Konbini 这一支付方式

创建新的 Checkout Session 时,您需要:

  1. 将 konbini 添加到 payment_method_types 列表
  2. 确保您的所有 line_items 都使用 jpy 货币。
Command Line
curl
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "mode"="payment" \ -d "payment_method_types[]"="card" \ -d "payment_method_types[]"="konbini" \ -d "payment_method_options[konbini][expires_after_days]"=3 \ -d "line_items[0][price_data][currency]"="jpy" \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][price_data][product_data][name]"="Tシャツ" \ -d "line_items[0][quantity]"=1 \ -d "success_url"="https://example.com/success" \ -d "cancel_url"="https://example.com/cancel"

其他支付方式选项

支付方式选项可以在 payment method options(konbini 参数下)中指定。

字段值必填默认值
expires_after_days待处理的 Konbini 付款到期前的自然天数。有效值为 1 到 60 天。见有效期。否3

有效期

待处理的 Konbini 付款在特定日期的午夜 (23:59:59 JST) 准时过期。例如,如果 expires_after_days 设置为 2,然后未在周一确认 PaymentIntent,则待处理的 Konbini 付款将在日本时间 (UTC+9) 周三的 23:59:59 过期。

电话号码

在 Konbini 结账表单上,您的客户可以选择提供一个电话号码作为他们的确认码。这简化了他们在便利店的支付过程,店内的 UI 要求客户提供付款码和确认码。这两者都反映在客户提交完结账表单后 Stripe 显示的付款说明中。如果您的客户没有提供电话号码,则 Stripe 会生成一个随机的确认码。

Stripe 主动阻止仅包含零的电话号码。

重定向到 Stripe 托管的付款凭单页面

注意

与银行卡付款不同,用 Konbini 付款时,客户不会被重定向到 success_url。

成功提交 Checkout 表单后,客户被重定向到 hosted_voucher_url。客户可以参考托管页面的付款说明,了解如何完成付款的详细信息。该页面可以在桌面电脑和手机上查看,还可以打印。

成功创建 Konbini 付款凭单时,Stripe 会发送一个 payment_intent.requires_action 事件。如果您需要通过邮件给客户发送付款凭单的付款说明链接,可以在 payment_intent.next_action.konbini_display_details 中找到 hosted_voucher_url。了解如何用 Webhook 监测 PaymentIntent。

Stripe 允许在品牌设置页面自定义面向客户的 UI。下列品牌设置项可应用付款凭单:

  • 图标——您的品牌图片及公开的商家名称
  • 强调色——用作复印数字按钮的颜色
  • 品牌颜色——用作背景颜色

履行订单

由于 Konbini 是一种延迟通知型支付方式,因此您需要用一种方式(例如 webhooks)来监测付款状态并处理订单履行情况。了解有关设置 Webhook 和履行订单的更多信息。

付款状态变化时会发送以下事件:

事件名称描述后续步骤

checkout.session.completed

客户成功提交了 Checkout 表单。Stripe 已生成 Konbini 付款凭单。

您可以选择通过邮件将 hosted_voucher_url 发给您的客户,以防他们丢掉 Konbini 付款凭单。

等待客户支付 Konbini 付款。

checkout.session.async_payment_succeeded客户成功支付了 Konbini 付款凭单。PaymentIntent 状态变为 succeeded。履行客户购买的商品或服务。
checkout.session.async_payment_failedKonbini 付款凭单已过期,或付款因其他原因失败了。PaymentIntent 返回到 requires_payment_method 的状态。通过电子邮件联系客户,请求其重新下单。

测试您的集成

测试您的 Checkout 集成时,选择 Konbini 这一支付方式,然后点击支付按钮。

在 Checkout 内提供以下值,以测试不同的场景。您可以用专用确认码或邮件样式来测试。如果两者都用,则专用确认码的行为适用。

邮件地址确认码描述

{any_prefix}@{any_domain}

11111111110

模拟一笔三分钟后成功的 Konbini 付款,然后收到 payment_intent.succeeded Webhook。

例如:hanako@test.com

{any_prefix}succeed_immediately@{any_domain}

22222222220

模拟一笔立即成功的 Konbini 付款,然后收到 payment_intent.succeeded Webhook。

例如:succeed_immediately@test.com

{any_prefix}expire_immediately@{any_domain}

33333333330

模拟一笔立即过期 Konbini 付款,然后收到 payment_intent.payment_failed Webhook。

next_action.konbini_display_details 中的 expires_at 字段设置为当前时间,不要管 payment method options 中的 expires_after_days 或 expires_at 参数设置的是什么时间。

例如:expire_immediately@test.com

{any_prefix}expire_with_delay@{any_domain}

44444444440

模拟一笔永远不会成功的 Konbini 付款,然后收到 payment_intent.payment_failed Webhook。

next_action.konbini_display_details 中的 expires_at 字段设置为未来 3 分钟,不要管 payment method options 中的 expires_after_days 或 expires_at 参数设置的是什么时间。

例如:expire_with_delay@test.com

{any_prefix}fill_never@{any_domain}

55555555550

模拟一笔永远不会成功的 Konbini 付款;按照 payment method options 中提供的各个参数的 next_action.konbini_display_details 中的 expires_at 字段的时间过期,然后收到 payment_intent.payment_failed Webhook。

例如:fill_never@test.com

要测试确认码的错误,可以使用以下值:

  • 01234567890 模拟确认码被拒绝的情况。
  • 00000000000 会导致验证错误。

过期和取消

在由 next_action.konbini_display_details 中的 expires_at 值指定的时间过后,客户不能再在便利店的自助服务终端上_发起_待处理的 Konbini 付款的付款流程。但是,如果在截止时间之前给了他们有效的付款单,则或许能够在 expires_at 之后在收银机上_完成_付款。

这种情况下,会有一个缓冲期,避免在提前付款失败。PaymentIntent 的状态会变成 requires_payment_method。这时,可以用另一支付方式取消或确认 PaymentIntent。

您也可以在确认后以及 next_action.konbini_display_details.expires_at 指定的时间到达前,取消待处理的 Konbini 付款。更新 PaymentIntent 或用另一种支付方式确认它也将隐式地取消现有的 Konbini 付款。

如果客户目前正在便利店进行 Konbini 支付,取消请求将失败。如果客户放弃付款尝试,并且付款单已过期,则可以重新尝试取消。

请注意,支付方式暂时性的可用性问题也会影响(既有显示又有隐式影响)取消请求。

注意

取消待处理的支付时,原始支付说明会失效。大多数情况下,建议您联系您的客户,通知他们取消支付。

成功地重新确认了 requires_action 状态的 PaymentIntent 后,我们会创建新的说明和新的 hosted_voucher_url。您要保证客户意识到这些问题。

退款

可以通过管理平台或 API 退还 Konbini 付款。

要直接完成转到客户银行账户的退款,您的客户必须提供用来接收资金的银行账户的详细信息。Stripe 会通过支付方式上的账单详情中的邮件地址联系客户,并请求他们提供这些信息。收到银行详情后,我们会自动处理退款。

退款的状态变化如下:

活动退款状态
退款已创建requires_action
客户提交银行账户详情,Stripe 开始处理退款pending
退款预计会到达客户的银行succeeded
客户的银行将资金退回到 Striperequires_action
创建 45 天以后,退款状态变为 requires_action。failed
退款从 requires_action 状态取消canceled

如果客户的银行不能成功完成转账,资金会退到 Stripe,然后退款状态变为 requires_action。在账户持有人的姓名与收款行记录的姓名不匹配,或提供的银行账号有输入错误时,就会发生这种情况。这些情况下,Stripe 会邮件通知客户发生的故障,并让他们重新提交银行账户详情。

如果您的客户不能在 45 天内提供他们的银行账户详细信息,退款的状态将变为 failed,我们发送 refund.failed 事件。这意味着 Stripe 不能处理这笔退款,您必须在 Stripe 外部将资金退给客户。

退款上的 instructions_email 字段是退款发至的邮件地址。当退款等待客户回复时,还可以在退款的 next_action.display_details.email_sent 字段中找到发给客户的电子邮件的详细信息。

每一笔退款(包括每笔部分退款)都可能产生费用。请联系您在 Stripe 的对接人,了解有关这种费用的更多信息。

测试退款

给客户发送的邮件中有银行账户详情收集链接,您可以用其中的以下测试用银行账户在测试模式下测试退款行为。不接受这些测试银行账户之外的银行账户。

路径账户类型
11000000001234退款成功。

1100000

1111113

1111116

1111113

3333335

4444440

退款失败。

测试退款有效时间

您可以发起一个 API 调用来模拟一笔测试退款的有效时间。

Command Line
curl https://api.stripe.com/v1/test_helpers/refunds/{{REFUND_ID}}/expire \ -X POST \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:

另见

  • Checkout 订单履行
  • 自定义 Checkout
此页面的内容有帮助吗?
是否
需要帮助?联系支持。
加入我们的早期使用计划。
查看我们的更改日志。
有问题?联系销售。
LLM? Read llms.txt.
Powered by Markdoc