我正在尝试Stripe API&功能,但我围绕这个问题扭转了头脑 - 如何在(测试)付款成功后提交表格?
这是我目前的代码:
if (pagelist$type[1] == "p"){
shiny::p("Display this text")
}
我应该在何时何地提交表格?
谢谢!
答案 0 :(得分:2)
您使用令牌回调函数提交表单更新您的句柄
var handler = StripeCheckout.configure({
key: 'pk_test_mykey',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'sv',
token: function (token) {
$.ajax({
type: 'POST',
url: '/checkout.php',
data: {stripeToken: token.id, stripeEmail: token.email},
success: function (data) {
//handle success response here
},
error: function(data){
//handle error response here
}
});
}
});
答案 1 :(得分:0)
检索Stripe TOKEN后,您应该将数据发送到服务器,包括TOKEN以进行Stripe Charge或创建订阅
Here is an example tutorial to create Customer for Subscription
答案 2 :(得分:0)
编辑我先前的答案,因为它已经可以正常工作,因此我可以共享代码段。 (当我发现这个问题时,我正为同样的问题而苦苦挣扎。)
这是我的解决方案。有用。假设您的下一个页面名为“ PaymentComplete.php”。进行相应的编辑。
token: function(token) {
// You can access the token ID with `token.id`.
// Get the token ID to your server-side code for use.
var form = document.createElement("form");
var tokenPassed = document.createElement("input");
form.method = "POST";
form.action = "PaymentComplete.php";
tokenPassed.value = token.id;
tokenPassed.name = "token";
form.appendChild(tokenPassed);
document.body.appendChild(form);
form.submit();
}
也许有更好的方法,但这对我有用。