我正在使用Stripe在我的网站上设置付款表单。他们提供了一种非常简单的方法,使用Checkout
开发选项以最少的工作设置付款表单,该选项为您提供信用卡信息等按钮和弹出对话框。
我的用例有点复杂,因为我需要为客户提供从多个订阅计划中选择的选项(Stripe会知道的),并且还提供更新其信用卡信息的能力(如果他们是存储卡详细信息的现有客户)。
Stripe的Elements
开发选项似乎更合适,因为我可以创建自己的自定义表单,但仍使用Stripes预构建控件嵌入必要的输入。
我问的问题是我是否真的需要以这种方式创建自定义表单。条纹文档非常好,但我不确定我是否遗漏了一些东西,因为我认为这是一个常见的用例。换句话说,Stripe是否提供了一个预先构建的表单,允许我做我正在尝试做的事情,即自动检测可用的订阅计划并填充下拉列表等。
答案 0 :(得分:1)
在这种情况下,这两个选项都适用。 Checkout是一个预构建表单,可让您安全快速地收集卡片详细信息。它在桌面和移动设备上运行良好,无需太多客户端代码。元素更灵活,可让您更紧密地控制表单。
这两种方法只是第一步。他们真正只专注于安全地收集卡片详细信息,并返回一个卡片令牌(tok_XXXX
),然后将其发送到您的服务器。
服务器端,您使用令牌为卡充电一次或将其保存在客户身上多次充电。
你绝对可以拥有一个包含多个计划和价格的页面,但仍然使用Checkout。您可以拥有多个按钮,每个计划一个,或者您可以使用Custom Checkout。这使您可以将单击处理程序附加到页面上的一个或多个按钮,这将触发Checkout打开。然后,您可以配置UI以在handler.open()
中显示自定义金额。
您可以在jsfiddle中看到一个基本示例:http://jsfiddle.net/y96L9o0d/
如果您不想显示价格,也可以删除data-amount
或amount
参数。以下是使用Checkout更新卡详细信息的示例:http://jsfiddle.net/6a5vubwj/
最终,这些都不会创建订阅或客户。它实际上只是第一步,其余部分发生在您的服务器上。因此,除了令牌之外,您还需要提交有关客户选择的计划或产品的信息,以便在服务器端创建正确的订阅。