如何在Stripe注册流程中使用优惠券?
By Stripe Developers · 2024-03-11
在Stripe开发者办公时间中,Ali介绍了如何在注册流程中使用Stripe订阅功能实施优惠券,以帮助企业在未来几个月为客户提供安慰和减轻。
Stripe开发者办公时间的最新版本
- 你好,我是Ali,这是stripe开发者办公时间的另一个版本。我们目前正经历前所未有的时期,企业不得不迅速应对快速变化的情况。在Stripe,我们的优先任务是确保您能够继续为客户提供服务,并且您的支付基础设施在业务特别是那些具有定期业务模式的情况下始终可靠。可以理解地,企业希望在未来几个月为他们的客户提供一些安慰和减轻,因此今天我们将讨论一个使用Stripe订阅功能的企业如何在其注册流程中实施优惠券。我们首先将通过构建使用Stripe Elements并创建订阅的Web集成来开始,然后我们将添加优惠券支持到我们的集成中,允许客户在注册时输入优惠券代码并获得订阅折扣。欢迎回到Stripe开发者办公时间,我是Ali,让我们开始吧。
- 我们将使用Traxion来设置我们的样板代码。我在我的端上已经安装了Stripe CLI,所以我将运行stripe samples create。让我们进入这个文件夹。这个文件夹包含两个子文件夹,一个用于客户端实现,另一个用于服务器实现。让我们打开Visual Studio Code并打开这个目录。我们有两个文件夹,在一个文件夹中有我们的HTML javascript文件,即客户端,另一个文件夹中有一个server.rb文件,即服务器端代码。
- 现在我们要添加Stripe Elements到我们的index.rb文件中。我们将实例化RepGS,创建一个Stripe Elements的实例,并挂载一个Card元素实例。在前端设置一个名为subscribe的按钮,当按下subscribe按钮时,我们将对支付方式进行令牌化,并将其传递到服务器。在服务器端,我们将有一个/subscribe端点,该端点将接受从客户端传递的令牌化支付方式,将其附加到Stripe客户端,并在该客户端对象上创建一个Stripe订阅。在我们的index.erb文件中,我们还将创建一个自定义CSS文件,并将其链接到HTML文件。我们还将创建card element和subscribe按钮,并添加一个错误标签。
Stripe开发者办公时间的最新版本
Stripe支付集成教程
- 在构建集成时,为了更容易调试,我们需要添加一些元素。
- 我们有一个用于卡片元素的div,一个订阅按钮以及一个箭头标签。
- 现在,让我们在此处添加Stripe GS脚本 ,以便引用stripe.js3。
- 接下来,我们将初始化并使用元素。
- 然后,在该文件中添加我的JavaScript脚本标签。
- 我们首先需要创建stripe元素,并挂载卡片元素。
- 调用`create`方法并引用stripe对象,然后传递我从stripe变量中获取的publishable key。
- 接下来,我们需要使用`create`方法创建元素的实例。
- 最后,我们需要从该stripe元素实例中创建卡片元素。
- 我们还需要挂载这个卡片元素。
- 让我们刷新页面,现在我们实际上已经挂载了Stripe元素。
- 我们可以输入卡号,还有一个订阅按钮。
- 接下来,我们需要为订阅按钮添加按钮处理程序,首先也添加一个错误标签的处理程序。
- 然后,在订阅按钮上添加事件监听器,在点击时执行一个回调函数。
- 当订阅按钮被点击时 ,我们需要将输入到卡片元素的卡片进行令牌化。
- 接下来,调用Stripe JS的`create`方法,并使用元素创建一个支付方法。
- 处理结果后,如果有错误,我们将显示错误消息。
- 如果成功,则记录支付方法ID。
- 现在我们有一个令牌化的卡,它在Stripe上是一个支付方法,有一个支付方法ID。
- 我们现在需要将这个ID提交给我们的服务器端点,并在服务器端点上附加到一个客户端,并创建一个订阅。
- 我们将使用`fetch`进行这个请求。
- 在服务器端点上,我们需要解析来自客户端的请求中的支付方法ID,创建一个Stripe客户端,将支付方法附加到该客户端,并创建一个订阅。
Stripe支付集成教程
创建客户和订阅
- 首先,我们需要对名称团队和付款方式ID进行符号化。
- 为了方便阅读和调试,让我们打印出付款方式ID,这样我们可以在终端窗口中看到。
- 使用try-catch块来处理异常情况。
- 首先创建一个客户,调用Stripe的'customer.create'方法,传递付款方法作为客户的附加项。
- 接下来,我们需要创建订阅,调用Stripe的'subscription.create'方法,传递客户ID、默认付款方法和订阅商品。
- 如果一切顺利,返回状态码200和完整的订阅对象的JSON。
- 添加错误处理,记录错误并返回适当的消息。
创建客户和订阅
使用Stripe创建订阅和优惠券
- 首先,我们需要从Stripe检索订阅或传递订阅ID。
- 我们将使用一些高级功能,它被称为扩展。
- 通常情况下,当检索订阅对象时,它具有 一个名为latest_invoice的字段。
- latest_invoice具有该订阅上最新发票的发票ID。
- 我们可以发起另一个API调用来检索它,但我们要做的是扩展该字段。
- 这意味着不仅仅是一个发票ID,而是在该字段上获取整个发票对象。
- 扩展接受一个字符串数组,所以我们将传入latest_invoice。
- 这将为我们提供整个订阅和发票对象。
- 接着,我们将记录订阅ID。
- 然后,我们还将分配invoice等于subscription.latest_invoice。
- 我们还将记录发票ID,或者说是发票金额。
- 最后,我们要呈现订阅页面。
- 订阅页面只是向客户显示订阅ID和最新发票上的应付金额。
- 接下来,让我们允许用户输入优惠券码。
- 在卡片元素下面,创建一个输入框和一个按钮。
- 用户在输入框中输入优惠券码,然后点击按钮应用优惠券。
- 现在,我们需要使用Stripe API创建优惠券。
- 我们可以在控制面板中创建优惠券。
- 进入帐单部分,然后创建一个新的优惠券。
- 输入优惠券名称并设置折扣比例。
- 选择优惠券的使用时间,并创建优惠券。
- 创建完成后,复制优惠券ID。
- 回到前端页面,添加引用到优惠券输入框和按钮。
- 当用户输入优惠券码并点击按钮时,我们将向服务器端发起一个POST请求。
- 在服务器端,我们需要验证优惠券码的有效性。
- 如果优惠券存在,并且有效,返回状态码200和一个JSON对象,指示优惠券有效。
- 如果优惠券不存在或无效,返回状态码400和一个JSON对象,指示优惠券无效。
使用Stripe创建订阅和优惠券
优惠券应用过程解析
- 首先,我们需要验证数据是否有效。如果数据有效,我们会显示“优惠券已应用”的标签,并将优惠券代码保存在变量coupon input value中。
- 接着,我们会初始化航班优惠券,如果航班优惠券尚未被初始化的话。
- 如果数据无效,我们会显示“无效的优惠券”,并且按之前的设置进行处理。
- 验证完毕后,我们需要将优惠券代码与创建订阅请求一起发送,以便用户的订阅可以应用该优惠券。
- 在后端函数post payment method中,我们需要添加一个名为coupon name的参数,并将其设置为应用的优惠券,如果应用的优惠券存在的话,否则设置为空字符串。
- 接着,我们还需要添加一个新步骤,将应用的优惠券附加到订阅中,即创建coupon name,并从中提取优惠券名称。
- 最后,在订阅状态页面上,我们需要添加一个名为coupon的项目,如果存在订阅对象及其折扣对象下存 在优惠券,则显示该优惠券的名称。
- 通过以上步骤,我们完成了优惠券的应用过程,用户可以享受到相应的优惠,也为整个示例画上了圆满的句号。
- 除此之外,还有一些额外的提示和资源,如针对COVID-19相关场景的额外资源、反馈表、Stripe IRC频道、支持相关问题以及示例代码的Github链接等。
优惠券应用过程解析
Conclusion:
通过本文介绍的方法,企业可以在注册流程中使用Stripe订阅功能来为客户提供折扣优惠,从而增加用户留存和忠诚度。