当 Stripe Checkout 模式关闭时,有什么方法可以触发事件吗?
在 Stripe 的模式关闭和他们的响应被传递之间有大约 0.5-1 秒的延迟。在那个时候,用户可能会点击离开页面等。为了解决这个问题,我们可以做一些事情,比如禁用所有链接或在页面上放置一个覆盖(“覆盖所有”),只有当 Stripe 完成处理时才会删除.
问题是,如果用户决定关闭 Stripe 模式(而不是尝试处理付款),则无法关闭该覆盖层。由于同源策略,您不能定位模式(例如 $('.stripe-app'))。
还有其他想法吗?
我的代码如下,改编自https://stripe.com/docs/checkout .
// custom Stripe checkout button with custom overlay to avoid UI confusion during payment processing
$('.btn-stripe').click(function(){
var token = function(res){
var $input = $('<input type=hidden name=stripeToken />').val(res.id);
$('.form-stripe').append($input).submit();
};
StripeCheckout.open({
key: STRIPE_KEY,
address: false,
amount: STRIPE_AMT,
currency: 'usd',
name: 'Purchase',
description: STRIPE_DESC,
panelLabel: 'Checkout',
token: token
});
$('.cover-all').show();
return false;
});
最佳答案
处理此问题的最佳方法可能是在处理过程中显示微调器或其他东西。
Closed 是 Stripe 为自定义集成提供的一个选项。
只要通过单击 X 按钮提交或关闭表单,就会调用它。希望这会很有用。
例如:handler.open({closed : function(){/* 这里有一些函数*/}})
关于javascript - Stripe Checkout Modal 的事件或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076287/