条纹自定义结帐 - 表单提交

时间:2017-07-25 11:41:53

标签: php html forms stripe-payments

我正在尝试Stripe API&功能,但我围绕这个问题扭转了头脑 - 如何在(测试)付款成功后提交表格?

这是我目前的代码:

if (pagelist$type[1] == "p"){
  shiny::p("Display this text")
 }

我应该在何时何地提交表格?

谢谢!

3 个答案:

答案 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();
}

也许有更好的方法,但这对我有用。

来源:creating and submitting a form with javascript