[英]submit form after stripe custom checkout processes
我正在使用Stripe Custom Checkout。 成功收費后,我嘗試獲取一個自動提交的表格。 我知道該表格可以工作,但是我無法在條紋簽出流程之后讓該表格提交。
我很確定代碼應該放在功能(令牌)之后。 條帶結帳表單關閉,該表單未提交。
我的表格:
<form name="regform" id="regform" action="[[~[[*id]]]]" method="post" class="form">..Lots of data......<input type="submit" name="regform" id="regform" value="Register"> </form>
我的地帶結帳:
<script src="https://checkout.stripe.com/checkout.js"></script>
<button id="customButton">Purchase</button>
<script>
var handler = StripeCheckout.configure({
key: 'pk_test_zizizizizizizizizzizi',
image: '/images/VR-logo.png',
token: function(token) {
document.getElementById("regform").submit();
// Use the token to create the charge with a server-side script.
// You can access the token ID with `token.id`
}
});
$('#customButton').on('click', function(e) {
var grtotal;
grtotal = document.getElementById('total').value;
// Open Checkout with further options
handler.open({
name: 'Verticle Runner',
description: '[[!+fi.pagetitle]]',
amount: parseInt(grtotal * 100),
email: "[[+modx.user.id:userinfo=`email`]]"
});
e.preventDefault();
});
// Close Checkout on page navigation
$(window).on('popstate', function() {
handler.close();
});
</script>
這里的想法是在token
回調中檢索卡令牌,然后從那里提交您的表單。
假設您具有以下形式:
<form id="myForm" action="XXXXXX" method="POST">
<input type="text" id="amount" name="amount"/>
<input type="hidden" id="stripeToken" name="stripeToken"/>
<input type="hidden" id="stripeEmail" name="stripeEmail"/>
</form>
然后,您對StripeCheckout.configure()
調用可能是這樣的:
var handler = StripeCheckout.configure({
key: 'pk_test_XXX',
image: '/square-image.png',
token: function(token) {
$("#stripeToken").val(token.id);
$("#stripeEmail").val(token.email);
$("#myForm").submit();
}
});
確保您的提交按鈕的名稱不為“提交”。 花了我大約6個小時來弄清楚那個。
我有同樣的問題。
我的問題是表格中有2個按鈕。 其中一個是type=submit
,另一個沒有定義type
。 我將其定義為type=button
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.