【问题标题】:What's the Flow for Stripe Elements?条纹元素的流程是什么?
【发布时间】:2018-01-18 21:09:41
【问题描述】:

我正在从 PayPal 切换到 Stripe,这样我就可以将结帐系统完全保留在我自己的销售网站上。虽然我对 PHP 和 API 交互有中等程度的了解,但我已经厌倦了使用 PayPal 3 年,我无法弄清楚 Stripe 的流程是如何工作的。他们的文档非常好,更像是“字典”,而不是实际示例。

我希望通过我自己的网站销售订阅付款。您创建 HTML,包括 Stripe.js 位,但过程本身是什么?如,“index.php 提交结帐表单,通知 Stripe,后者将 ping 发送回charge.php ...”等等。

  • 客户创建去了哪里,它如何附加到 CC 费用中?
  • Stripe 的确认信息在哪里?
  • 我的价格检查 PHP 去哪里了?

我已经给 Stripe 发了电子邮件,虽然他们足够友好,但他们或多或少只是告诉我上网查看他们的文档,我已经花了几个小时但仍然没有得到它。

我知道我很笨 - 在线教程似乎都专注于 Stripe Checkout,这是我不想要的 弹出窗口,而不是自定义 HTML 表单。

提前谢谢各位。 :)

【问题讨论】:

    标签: javascript php stripe-payments


    【解决方案1】:

    您可以通过多种不同的方式进行设置。以下是我们在应用程序中的做法。

    当用户输入抄送信息时,您使用客户端上的Stripe.js API 将抄送提交给Stripe,它会返回一个token。回调从表单中移除 CC 数据,将令牌放入表单的隐藏字段中,然后将表单提交给服务器。

    如果您想保存客户的抄送信息,这样他们就不必每次都重新输入,然后使用stripe-php API 为该抄送创建一个\Stripe\Customer 对象,将令牌作为card 参数。这将返回一个客户 ID,您可以将其保存在您的用户数据库中以供将来重复使用。

    要从卡中扣款,您需要创建一个 \Stripe\Charge 对象,并在 customer 字段中使用此客户 ID。对此的响应表明收费成功;如果有问题会抛出异常。

    如果您只想一次性收费而不永久保存 CC,您可以直接创建\Stripe\Charge 对象,并将令牌用作source 字段。

    如果你想让客户拥有多张保存的卡片,你第一次创建\Stripe\Customer对象,当他们添加新卡片时你检索他们的客户对象,将新令牌添加到source数组,并更新它。然后在未来的费用中,您可以同时指定 customersource 字段。在这种情况下,source 字段应该是他们保存的一张卡片的卡片 ID。

    在从 PHP 脚本调用 Stripe API 之前,您可能会自己验证表单并计算价格。

    【讨论】:

      【解决方案2】:

      Stripe 确实有一个包含示例和分步指南的部分,不知道您是否找到它 - 它与 API 文档分开,我第一次没有看到它。 [https://stripe.com/docs/subscriptions/quickstart][1][1]:https://stripe.com/docs/subscriptions/quickstart


      为此,您需要安装他们的 PHP 客户端库(或您正在使用的任何东西)并熟悉 PHP 表单。

      回答您的问题:

      客户创建去了哪里,它如何附加到 抄送收费?

      这是使用他们库中的函数完成的,请参见上面的链接。客户创建与收费是分开的。您需要将客户 ID 存储在您的数据库中以便以后向他们收费。

      Stripe 的确认信息去哪了?

      这是在 api 调用的响应中返回的。

      我的价格检查 PHP 去哪里了?

      不确定你的意思。大概你先用你的代码计算出向他们收取费用的价格,然后你可以把它作为一个数量来条纹。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 1970-01-01
        • 2021-10-20
        • 2018-07-13
        • 2015-08-23
        • 2012-08-08
        • 1970-01-01
        • 2017-10-13
        • 2023-03-25
        相关资源
        最近更新 更多