【问题标题】:Do I need to create 2 forms to integrate a payment processing API?我是否需要创建 2 个表单来集成支付处理 API?
【发布时间】:2015-09-06 02:53:53
【问题描述】:

我正在关注Braintree Payments docs。要设置信用卡付款方式,它表示表单代码如下所示:

<form id="checkout" action="/your/server/endpoint" method="post">
  <input data-braintree-name="number" value="4111111111111111">
  <input data-braintree-name="expiration_date" value="10/20">
  <input type="submit" id="submit" value="Pay">
</form>

但是我已经设置了一个表单,它接受所有其他必要的输入(它基本上是一个向用户收费的问答网站)并将其提交到数据库。我将把 Braintree 文档给出的表单代码放在哪里?您可以将一个表单嵌套在另一个表单中吗?这是推荐的做法吗?我应该将表格分开并在另一个页面上处理付款吗?理想情况下,我想在一页上完成整个过程,如果他们选择了信用卡支付方式,我可能会调出信用卡支付方式表格。

【问题讨论】:

    标签: php forms braintree


    【解决方案1】:

    全面披露:我在 Braintree 工作。如果您还有任何问题,请随时联系support

    根据working HTML5 specification&lt;form&gt; 元素不应包含其他&lt;form&gt; 元素,因此嵌套表单实际上在技术上是无效的 HTML。考虑到这一点,我们可以肯定地说这不是推荐的做法。 :)

    但是,一个页面可以包含多个表单。请记住,由于表单的性质(它将数据发送到端点并加载该端点),您将无法从同一页面同时提交多个表单。一种常见的模式是使用专门用于以单一形式收集付款数据的结帐页面。

    如果您只想使用一页和一张表格,Braintree 可以满足您的要求。 Braintree 数据输入元素不必是表单中的唯一元素。例如,您可以包括询问用户姓名、出生地或其他任何内容的输入元素。当您将braintree.setup 指向您的表单时,它只会关注您用“data-braintree-name”标记的输入字段,并且您所有的正常命名字段仍将在您的$_POST 变量中。

    【讨论】:

      猜你喜欢
      • 2014-11-18
      • 2015-11-27
      • 2011-06-11
      • 2020-04-30
      • 2021-05-03
      • 1970-01-01
      • 2018-11-04
      • 2012-03-13
      • 1970-01-01
      相关资源
      最近更新 更多