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;
});