我正在使用 Stripe 'checkout' 来收款。我已经在其他网站上成功地使用了它,但是这个特殊的用例与我的正常流程略有不同,并且给我带来了问题。我的客户有时可以选择支付押金或全额付款。在这种情况下,我提供两个按钮,每个付款类型一个,例如
<form name="myform" action="paymentpage.php">
... other form stuff
<!-- Deposit payment button Stripe -->
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="abcd"
data-amount="10000"
data-name="My company name"
data-description="Deposit payment"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-zip-code="true"
data-currency="eur"
data-label="Pay Deposit">
</script>
<!-- Full payment button Stripe -->
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="avcd"
data-amount="{{ $stripeCostValue }}"
data-name="My company name"
data-description="Full payment"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-zip-code="true"
data-currency="eur"
data-label="Pay in full">
</script>
我想在客户完成他们的工作后使用 cURL 进行收费,例如
curl https://api.stripe.com/v1/charges \
-u sk_liveabcd1234: \
-d amount=1000 \
-d currency=eur \
-d description="Deposit payment" \
-d source=tok_89797oioououo
接收发布数据的 Laravel 控制器默认包含以下 Stripe 字段:
"stripeToken" => "tok_89797oioououo"
"stripeTokenType" => "card"
"stripeEmail" => "[email protected]"
但我不知道他们是否支付了押金、全额付款或他们支付的金额。有没有办法让我知道他们按下了哪个按钮,或者有没有办法从 Stripe 付款中获取更多数据?我想不通。我无法将金额或付款类型作为隐藏字段包含在内,因为我不知道客户将按下哪个付款按钮。
提前致谢
问题是你把两个按钮放在同一个表单中。因此,您不知道点击了哪一个。
最简单的解决方案是简单地使用 2 个单独的按钮和表单。这样,在每个表单中,您可以放置一个隐藏字段,让您知道在随表单提交值时单击了哪个按钮。
另一种解决方案是使用Custom Checkout。这让您的表单中有 2 个单独的按钮,并且在 JS 中,添加一个处理程序以在单击时打开 Checkout。这还可以让您轻松跟踪单击了哪个按钮,然后在创建令牌后将此信息提交给您的服务器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句