[英]How can i get a stripe token on my controller with checkout?
我在尝试使用checkout时尝试获取条纹令牌,但是当我提交嵌入表单时,我没有POST方法,而且我也不知道如何在我的php控制器上拥有令牌。 这是我的代码:
<script>
var handler = StripeCheckout.configure({
key: 'pk_test_WWlLRtqEY2yfJUlfA4TRRcyf',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
console.log(token.id);
}
});
document.getElementById('customButton').addEventListener('click', function(e) {
// Open Checkout with further options:
handler.open({
name: 'Musée du Louvre',
description: 'Biletterie en ligne',
currency: 'eur',
amount: '{{ price }}' * 100,
email: '{{ mail }}',
allowRememberMe: false,
});
e.preventDefault();
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
我尝试过这个:
<form post="" method="post">
my script code
</form>
但是,当我单击“付款”页面时,不会刷新。
有人可以帮我吗?
想法是更改token
回调中的代码,以将token
发送到您的服务器,而不是将其记录到控制台。
更改您的表单,使其具有条纹令牌ID和客户输入的电子邮件的隐藏字段:
<form action="/your/route" method="POST" id="payment-form">
<input type="hidden" id="stripeToken" name="stripeToken" value="tok_XXX" />
<input type="hidden" id="stripeEmail" name="stripeEmail" value="email@example.com" />
</form>
然后更改您的JS以设置这些值并提交表单:
token: function(token) {
$("#stripeToken").val(token.id);
$("#stripeEmail").val(token.email);
$("#payment-form").submit();
}
这将提交您的表单,并且您在服务器上的路由将在POST参数中接收stripeToken
和stripeEmail
值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.