首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >条带结帐模式的事件或方法

条带结帐模式的事件或方法
EN

Stack Overflow用户
提问于 2013-06-13 06:13:09
回答 2查看 9K关注 0票数 10

有没有办法在条纹结账模式关闭时触发事件?

在Stripe的模式关闭和它们的响应被发送之间大约有0.5-1秒的延迟。为了解决这个问题,我们可以做一些事情,比如禁用所有链接或在页面上放置一个覆盖("cover- all "),只有在处理完毕后才会将其移除。

问题是,如果用户决定关闭条纹模式(而不是尝试处理付款),则无法关闭覆盖。由于同源策略,您不能以模式为目标(例如$('.stripe-app'))。

有其他的想法吗?

我的代码如下,改编自https://stripe.com/docs/checkout

代码语言:javascript
运行
复制
// 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;
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-15 00:14:42

根据@brian的评论,已确认延迟发生在返回条纹令牌之后和提交表单之前。要解决原始问题,请在返回令牌后根据需要添加overlay和/或禁用元素。

代码语言:javascript
运行
复制
// custom Stripe checkout button with disabling of links/buttons until form is submitted
$('.btn-stripe').click(function(){

  var token = function(res){
    var $input = $('<input type=hidden name=stripeToken />').val(res.id);

    // show processing message, disable links and buttons until form is submitted and reloads
    $('a').bind("click", function() { return false; });
    $('button').addClass('disabled');
    $('.overlay-container').show();

    // submit form
    $('.form-stripe').append($input).submit();
  };

  StripeCheckout.open({
    key:         'key',
    address:     false,
    amount:      1000,
    currency:    'usd',
    name:        'Purchase',
    description: 'Description',
    panelLabel:  'Checkout',
    token:       token
  });

  return false;
});
票数 3
EN

Stack Overflow用户

发布于 2014-12-24 18:53:34

处理这个问题的最好方法可能是在处理过程中显示一个微调器或其他东西。

Closed是一种由条带提供的选项,用于自定义集成。每当通过单击X按钮提交或关闭表单时,都会调用它。希望这能对你有所帮助。

eg: handler.open({closed : function(){/* some function here*/}})

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17076287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档