Cakephp 3条纹支付表

时间:2016-12-09 09:03:20

标签: stripe-payments cakephp-3.x

我希望有人可以帮助我了解Stripe应该如何使用Cakephp 3。

我有一个带有Stripe付款字段的表单和我的蛋糕应用程序的几个字段。从条纹文档中,这似乎是一种可接受的设置方式。

  

HTML是相当标准的,但请注意每个输入的敏感程度   数据号,CVC,过期和邮政编码 - 省略名称   属性。通过省略名称,这些字段中的用户提供的数据   在提交表单时,不会将其传递给您的服务器。每   element还包含一个data-stripe属性,稍后将对此进行讨论。

我现在正在使用cakephp 3,它似乎不允许我从表单助手生成的HTML中删除属性。我只能制作这个名字'财产是空白的。我用条纹支持查询了这一点,他们有点不置可否。它们通常非常好,但在这种情况下,答案似乎比抱歉更安全。'

我的主要问题是:如果你没有使用Stripe字段的表单助手,那真的很重要吗?我可以在蛋糕文档中找到的主要好处是CSRF组件将在这些字段上起作用。我在整个应用程序中使用CSRF组件,但由于Stripe字段甚至没有发送到服务器,因此CSRF组件无关紧要。不是吗?

以下是Cakephp手册的摘录:

  

CsrfComponent的工作原理是将cookie设置为用户的浏览器。   使用Cake \ View \ Helper \ FormHelper创建表单时,隐藏   添加包含CSRF令牌的字段。在此期间   Controller.startup事件,如果请求是POST,PUT,DELETE,PATCH   请求组件将比较请求数据&饼干价值。如果   要么丢失,要么两个值不匹配,组件将抛出   aCake \网络\异常\ InvalidCsrfTokenException。

我仍然可以将表单助手用于提交到数据库的少数字段,并且只使用HTML添加条带字段?

这有意义吗?

Stripe支持确实建议有两个单独的表单,一个用于蛋糕数据,一个用于Stripe数据,但是因为他们的文档说你可以将Stripe字段添加到提交给服务器的表单,看起来有点奇怪。

我真的很感激这方面的一些意见,因为看起来Stripe自己也不确定如何构建一个cakephp支付表格!

1 个答案:

答案 0 :(得分:0)

是原始HTML似乎是要走的路。

这就是我所做的。

使用表单助手来开始和结束表单(这意味着表单被篡改,CSRF将适用于​​非条带字段)

使用HTML在Cake表单中添加了条带字段(我没有测试HTML字段以查看表单篡改是否适用于它们。我稍后会对其进行测试并回发)

使用Form帮助程序解锁stripeToken字段,以便可以将其添加到表单中,而不会使表单篡改黑名单请求。

一旦我设置了所有这些,我在我的控制器中使用echo debug($ _ POST)来查看表单提交给服务器的内容,并且显示的唯一Stripe字段是stripeToken。

所以在我看来,这是有效的。