1

目前我使用条纹支付按钮作为向用户收费的一种方式。然而,这个过程是:

他们收到一封电子邮件,该电子邮件有一个支付按钮。按下按钮后,该按钮将启动一个带有条纹支付按钮的页面。按条纹支付按钮打开卡支付。

我希望能够直接从用户按下电子邮件的支付按钮到打开的卡支付页面,而不是他们必须按下另一个按钮。

我一直在使用https://stripe.com/docs/checkout。我认为直接调用 stripecheckout.open 可以解决问题,但是,我不确定如何使用 javascript 正确格式化此调用。

例如,当按下电子邮件支付按钮时,会生成这样的条带支付按钮

res.write('<script ');
res.write('src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button"');
res.write('data-key="' + body[0].data_key + '"');
res.write('data-amount="' + body[0].data_amount +'"');
res.write('data-name="' + body[0].data_name + '"');
data_desc_string = body[0].data_description;
data_desc_short = data_desc_string.substring(7);
res.write('data-description="' + data_desc_short + '"');
res.write('data-currency="usd">');
res.write('</script>');

我不确定我应该如何仅为stripecheckout.open.

4

1 回答 1

2

Checkout 文档的自定义按钮部分详细说明了如何调用StripeCheckout.open().

在您的情况下,您只需StripeCheckout.open()在页面加载后调用(因为您希望它立即出现)而不是响应按钮单击(如示例中所示)。

您将如何处理这将因您使用的 JS 框架而异。在他们的示例代码中使用 jQuery,您将绑定到$(document).ready()

  <script src="https://checkout.stripe.com/v2/checkout.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>

  <button id="customButton">Purchase</button>

  <script>
    $(document).ready(function(){
      var token = function(res){
        var $input = $('<input type=hidden name=stripeToken />').val(res.id);
        $('form').append($input).submit();
      };

      StripeCheckout.open({
        key:         'pk_test_czwzkTp2tactuLOEOqbMTRzG',
        address:     true,
        amount:      5000,
        currency:    'usd',
        name:        'Joes Pistachios',
        description: 'A bag of Pistachios',
        panelLabel:  'Checkout',
        token:       token
      });

      return false;
    });
  </script>
于 2013-09-24T16:33:39.870 回答