Checkout 迁移指南
了解如何迁移到 Stripe 的最新集成。
旧版 Checkout 为客户显示一个模态对话框,用以收集银行卡信息,并返回一个令牌或您网站的来源。相比之下,支付链接 和当前版本的 Checkout 是由 Stripe 托管的智能支付页面,可创建支付或订阅。两种集成都支持 Apple Pay、Google Pay、Dynamic 3D Secure、Connect、重用现有客户和许多其他功能。如果支付链接或 Checkout 不适合您的使用情况,您还可以比较其他支付集成。
开始前
如果您使用的是 Stripe 的 SDK,请升级到最新版本。
选择您的业务模式
要从旧版 Checkout 迁移,请按照最能代表您的业务模式的指南进行。每个指南都会推荐一个集成路径,并附有示例代码。
如果您有一个很大的产品目录,或需要支持动态生成行项目(例如捐款或税)。
如果您是一家 SaaS 提供商,需要给客户计费,且需要高级功能支持。
如果您运营的是一个交易市场,连接服务提供者与客户。
如果您运营的业务仅在服务完成后才向客户收款。
如果您销售价格事先确定了的若干种产品。
如果您是一家 SaaS 提供商,执行月度订阅计划。
在参考相关指南的同时,您还可以参考转换表,了解特定参数和配置选项之间的映射关系。
动态产品目录和定价
如果您销售的产品需要动态确定金额或行项目(例如,大的产品目录或捐款),则请查看接受一次性付款。
使用旧版 Checkout 时,您需要在客户端创建令牌或来源,然后传递到您的服务器来创建收款。当前版本的 Checkout 的服务器集成逆转了此流程 — 在您的服务器上创建一个 Session,将客户重定向到 Checkout,在支付完成后客户再被重定向回您的应用。
升级前
使用旧版 Checkout 时,您需要显示动态金额和订阅并向客户收集银行卡信息。
<form action="/purchase" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Custom t-shirt" data-description="Your custom designed t-shirt" data-amount="{{ORDER_AMOUNT}}" data-currency="usd"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
接下来,将生成的令牌或来源发送到您的服务器,然后收款。
升级后
在您的网站上添加一个结账按钮,调用一个服务器端点来创建 Checkout Session。
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Checkout Session 是客户被重定向到支付表单时所看到的内容的程序化展示。可通过多种选项对它进行配置,例如:
- 要扣款的行项目
- 要使用的货币
包含一个 success_
并提供您网站上的某个页面的 URL,客户在完成付款后被重定向到此页面。
在创建 Checkout Session 后,将客户重定向到在响应中返回的 URL。如果您需要在付款后为所购买的商品履单,请参阅履行 Checkout 和支付链接付款。
动态订阅
如果您提供的订阅服务需要动态确定,或需要其他高级功能支持,则请查看设置订阅。
使用旧版 Checkout 时,您需要在客户端创建令牌或来源,然后传递到您的服务器来创建客户和订阅。当前版本的 Checkout 逆转了此流程 — 先在您的服务器上创建一个 Session,将客户重定向到 Checkout,成功后,客户再被重定向回您的应用。
升级前
使用旧版 Checkout 时,您需要显示订阅信息并收集客户的银行卡信息。
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Gold Tier" data-description="Monthly subscription with 30 days trial" data-amount="2000" data-label="Subscribe"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
接下来,将生成的令牌或来源发送到您的服务器,创建客户和订阅。
升级后
在您的网站上添加一个结账按钮,调用一个服务器端点来创建 Checkout Session。
<html> <head> <title>Subscribe to cool new service</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Subscribe</button> </form> </body> </html>
Checkout Session 是客户被重定向到支付表单时所看到的内容的程序化展示。可通过多种选项对它进行配置,例如:
- 要扣款的行项目
- 要使用的货币
包含一个 success_
并提供您网站上的某个页面的 URL,客户在完成付款后被重定向到此页面。
在创建 Checkout Session 后,将客户重定向到在响应中返回的 URL。创建客户和订阅后,客户被重定向到 success_
。如果您需要在付款后为所购买的服务履单,请参阅履行 Checkout 和支付链接付款。
Connect 平台和交易市场
如果您运营的是 Connect 平台或交易市场,并且需要创建涉及 Connect 子账户的付款,则考虑使用当前版本的 Checkout。
以下示例演示用 Checkout Sessions API 处理直接收款。也可以结合使用 Checkout 和 Connect 以及定向收款 和 独立收款和转账。
升级前
使用旧版 Checkout 时,您需要在客户端向客户收集银行卡信息。
<form action="/purchase" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Food Marketplace" data-description="10 cucumbers from Roger's Farm" data-amount="2000"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
接下来,将生成的令牌或来源发送到您的服务器,并代 Connect 子账户收款。
升级后
在您的网站上添加一个结账按钮,调用一个服务器端点来创建 Checkout Session。
<html> <head> <title>Roger's Farm</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Checkout Session 是客户被重定向到支付表单时所看到的内容的程序化展示。可通过多种选项对它进行配置,例如:
- 要扣款的行项目
- 要使用的货币
包含一个 success_
并提供您网站上的某个页面的 URL,客户在完成付款后被重定向到此页面。
在创建 Checkout Session 后,将客户重定向到在响应中返回的 URL。如果您需要在付款后为所购买的商品或服务履单,请参阅履行 Checkout 和支付链接付款。
保存支付方式供以后使用
如果您提供的服务不立即向客户收款,则请查看设置未来付款。
使用旧版 Checkout 时,您需要在客户端创建令牌或来源,然后传递到您的服务器进行保存以供将来使用。当前版本的 Checkout 逆转了此流程 — 先在您的服务器上创建一个 Session,将客户重定向到 Checkout,成功后,客户再被重定向回您的应用。
升级前
使用旧版 Checkout 时,您需要显示收款信息并向客户收集银行卡信息。
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Cleaning Service" data-description="Charged after your home is spotless" data-amount="2000"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
接下来,将生成的令牌或来源发送到您的服务器,最终创建收款。
升级后
在您的网站上添加一个结账按钮,调用一个服务器端点来创建 Checkout Session。
<html> <head> <title>Cleaning service</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Subscribe</button> </form> </body> </html>
Checkout Session 是客户被重定向到支付表单时所看到的内容的程序化展示。可通过多种选项对它进行配置,例如:
- 要扣款的行项目
- 要使用的货币
包含一个 success_
并提供您网站上的某个页面的 URL,客户在完成付款设置后被重定向到此页面。
在创建 Checkout Session 后,将客户重定向到在响应中返回的 URL 以收集支付方式详情。客户完成该流程后,将被重定向到 success_
。在您准备好收款时,请从 Checkout Session 检索 SetupIntent,并用它准备交易。
固定价格的简单产品目录
如果您以固定定价销售产品(如 T 恤或电子书),请查看支付链接 指南。您可能已经使用旧版 Checkout 在客户端创建令牌或来源,然后将其传递到您的服务器来创建收款。
升级前
使用旧版 Checkout 时,您需要显示金额和订阅并向客户收集银行卡信息。
<form action="/pay" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="T-shirt" data-description="Comfortable cotton t-shirt" data-amount="500" data-currency="usd"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
接下来,将生成的令牌或来源发送到您的服务器,创建客户和收款。
升级后
创建一个表示项目的产品 和价格。下例创建了产品内联。您也可以在管理平台 中创建这些对象。
用产品和价格在管理平台中创建一个支付联接。创建链接后,点击购买按钮以配置设计并生成代码,您可将其复制粘贴到您的网站。
简单订阅
如果您提供的是简单的订阅服务(例如软件的每月访问权限),请参阅第 2 版的支付链接 指南。您可能已经在使用旧版 Checkout 时在客户端创建令牌或来源,然后传递到您的服务器来创建客户和订阅。
升级前
使用旧版 Checkout 时,您需要显示订阅信息并收集客户的银行卡信息。
<form action="/subscribe" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key=
data-name="Gold Tier" data-description="Monthly subscription" data-amount="2000" data-currency="usd" data-label="Subscribe"> </script> </form>"pk_test_TYooMQauvdEDq54NiTphI7jx"
接下来,将生成的令牌或来源发送到您的服务器,创建客户和订阅。
升级后
创建一个表示订阅的产品 和价格。下例中创建了产品内联。您也可以在管理平台 中创建这些对象。
用产品和价格在管理平台中创建一个支付联接。创建链接后,点击购买按钮以配置设计并生成代码,您可将其复制粘贴到您的网站。
参数转换
当前版本的 Checkout 支持旧版 Checkout 的大部分功能。但是,它们使用的 API 不同。下表是旧版和当前版本之间的参数和配置选项映射。有关配置选项的完整列表,请查看 Checkout Sessions。
旧版本 | 当前版本 | 集成提示 |
---|---|---|
allowRememberMe | 不支持 | 通过在创建 Checkout Session 时指定 customer 参数来重复使用现有客户。您也可以启用 链接,让客户安全地保存并重复使用他们的支付信息。 |
amount | 已自动计算所有 line_ 的总和 | 总金额是您传递到 Checkout 的行项目的和。 |
billingAddress | Session. | Checkout 在需要时自动收集账单地址,达到预防欺诈或合规的目的。将该参数设置为 required ,则会始终收集账单地址。 |
closed | cancel_ | 客户想要关闭 Checkout 时,可关闭浏览器选项卡或导航到 cancel_ 。 |
currency | Session. | |
description | Session. 或 product. | 如果指定价格,则 Checkout 会自动计算并生成付款频率的描述。如果指定 Session. ,则 Checkout 会显示每个行项目的 name 。 |
email | Session. | 如果您已经知道客户的邮件地址,则在创建 Checkout Session 时可以预先填充 customer_email。 |
| 公司品牌:在管理平台中上传您的徽标或图标。 产品图片:用 | Checkout 会针对贵商家的品牌和销售的产品使用特定的图片。Checkout 会默认显示您的徽标,并退回到您的商家名称旁的商家图标。 |
key | 不再是向 Checkout 传递的参数 | |
locale | Session. | 创建 Checkout Session 时,可以指定一个支持的区域。 |
name | Session. 中指定的价格的 product. | 如果指定一个价格,则 Checkout 显示属于该价格的产品的名称。如果指定 Session. ,则 Checkout 会显示每个行项目的 name 。 |
panelLabel | submit_ | Checkout 会根据您销售的项目自动自定义按钮文本。对于一次性付款,用 submit_type 自定义按钮文本。 |
shippingAddress | session. | 通过传递要配送到的 allowed_ 的一个数组收集收货地址信息。 |
token 或 source | success_ | 完成付款时,JavaScript 已不再有回调。由于您的客户是在另一个页面付款的,请设置 success_ 以在他们完成付款后将其重定向。 |
zipCode | Checkout 自动收集 | Checkout 在需要时自动收集邮编,达到预防欺诈或合规的目的。 |