我尝试使用Stripe自定义表单。用户完成表单注册向导后,它会将数据发布到我的PHP文件,该文件将数据插入MySQL数据库。成功完成后,用户将被重定向到概述表格,详细说明所有输入的信息。然后,用户可以输入他们的信用卡信息。
我使用Stripe通过地址,邮政编码城市和州来验证用户的身份。如果用户尝试付款没有通过(例如,由于他们名字中的拼写错误),他/她将能够使用AJAX在现场更改它。 AJAX将立即更新用户的记录。
当用户尝试通过输入所有值再次提交信用卡信息时,我希望已加载的脚本更改为用户更改的新值。在下面找到我的所有信息。提前谢谢,我真的希望有人可以帮助我。
预装脚本:
<!-- Create Token with Stripe -->
<script type="text/javascript">
// this identifies your website in the createToken call below
Stripe.setPublishableKey('pk_test_y4JUdKfi5hS4Vw7u1AnEfbeS');
function stripeResponseHandler(status, response) {
if (response.error) {
// re-enable the submit button
$('.submit-button').removeAttr("disabled");
// show the errors on the form
$(".payment-errors").html(response.error.message);
} else {
var form$ = $("#payment-form");
// token contains id, last4, and card type
var token = response['id'];
// insert the token into the form so it gets submitted to the server
form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
// and submit
form$.get(0).submit();
}
}
$(document).ready(function() {
$("#payment-form").submit(function(event) {
// disable the submit button to prevent repeated clicks
$('.submit-button').attr("disabled", "disabled");
// createToken returns immediately,
// the supplied callback submits the form if there are no errors
Stripe.createToken({
number: $('.card-number').val(),
cvc: $('.card-cvc').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val(),
name: $('.card-holder-name').val(),
address_line1: $('.address').val(),
address_city: $('.city').val(),
address_zip: $('.zip').val(),
address_state: $('.state').val()
}, stripeResponseHandler);
return false; // submit from callback
});
});
</script>
<!-- STRIPE -->
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
(这是我使用AJAX显示和更新的表格标签)
<a href="#" id="address"
data-type="text"
data-pk="1"
data-name="from_street"
data-params="<?php echo $current_account["email_id"];?>"data url="assets/php/editacct.php"
data-original-title="Enter current address"
><?php echo $current_account["from_street"];?></a>
<script type="text/javascript">$('#address').editable();</script>
我正在使用bootstrap-editable来更新信息。
如何在Stripe脚本创建令牌之前更改地址,zip,州和城市的值?