我正在尝试使用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>';
答案 0 :(得分:5)
我希望您需要发送带有条带结帐的自定义数据字段,并尝试与您的数据库匹配。如果我对吗?请按照以下细节。
对于包含自定义数据,您需要使用隐藏的输入,如下所示:
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"];
答案 1 :(得分:0)
我的经验,即使用基本Stripe结帐无法使用自定义字段,在这个非常相似的问题上同意接受的答案:
https://stripe.com/docs/custom-form
我相信最好的路线是使用stripe.js方便并创建自定义付款方式:
{{3}}
我目前正在解决这个问题,方法是在表单操作中使用不同的端点URL来执行不同的操作。这很好用,但我最终可能会在生产代码中使用stripe.js。
答案 2 :(得分:0)
你可以做这样的事情来增加额外的信息
echo '<form action="/charge?item_id=123" method="POST">';
并在费用页面中使用$_REQUEST['item_id']
代替$_POST['item_id']
来获取值。
不是我喜欢的工作方式,但在这种情况下,它解决了问题。