条纹简单结帐自定义数据字段

Stripe Simple Checkout Custom Data Field

我正在尝试使用 Stripe 的简单结账系统。

我想包含一个自定义字段,以便我可以将 item_id 与我数据库中的订单相匹配。

https://stripe.com/docs/checkout#integration-simple

他们的文档中似乎没有提到它,但它似乎对于在线服务来说非常重要。 如何附加将与订单一起记录的自定义 ID 字段?

echo '<form action="/charge" method="POST">';
echo '<script ';
  echo 'src="https://checkout.stripe.com/checkout.js" class="stripe-button" ';
  echo 'data-key="pk_test_ksdjhg8dsgsghdsgh" ';
  echo 'data-email="email@example.com" ';
  echo 'data-name="example.com" ';
  //echo 'data-bitcoin="true" ';
  echo 'data-description="Campaign" ';
  echo 'data-currency="usd" ';
  echo 'data-amount="2000" ';
  echo 'data-locale="auto">';
echo '</script>';
echo '</form>';

我希望您需要发送带有条带结帐的自定义 data-field 并尝试与您的数据库匹配。如果我是对的?请遵循以下详细信息。

要包含自定义数据,您需要使用隐藏输入,如下所示:

echo '<form action="/charge" method="POST">';
echo '<script ';
  echo 'src="https://checkout.stripe.com/checkout.js" class="stripe-button" ';
  echo 'data-key="pk_test_ksdjhg8dsgsghdsgh" ';
  echo 'data-email="email@example.com" ';
  echo 'data-name="example.com" ';
  //echo 'data-bitcoin="true" ';
  echo 'data-description="Campaign" ';
  echo 'data-currency="usd" ';
  echo 'data-amount="2000" ';
  echo 'data-locale="auto">';
echo '</script>';
echo '<input name="item_id" value="SOMEVALUEHERE" type="hidden">';
echo '</form>';

在上面的代码中,我为 item_id 添加了隐藏项。您可以从 PHP 页面的输入字段中获取值,例如:

$item_id = $_POST["item_id"];

我的经验是,使用基本的 Stripe 结账无法自定义字段,我同意在这个非常相似的问题上接受的答案:

我认为最好的方法是使用 stripe.js 并创建自定义付款表格:

https://stripe.com/docs/custom-form

我目前正在解决这个问题,方法是在表单操作中使用不同的端点 URL 来做不同的事情。这工作正常,但我最终可能会在生产代码中使用 stripe.js。

你可以这样做来添加额外的信息

echo '<form action="/charge?item_id=123" method="POST">';

并在收费页面使用$_REQUEST['item_id']代替$_POST['item_id']来获取价值。

这不是我喜欢的工作方式,但在这种情况下它可以解决问题。