Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将优惠券添加到条带结帐_Javascript_Ruby On Rails 4_Ruby On Rails 5_Stripe Payments_Coupon - Fatal编程技术网

Javascript 如何将优惠券添加到条带结帐

Javascript 如何将优惠券添加到条带结帐,javascript,ruby-on-rails-4,ruby-on-rails-5,stripe-payments,coupon,Javascript,Ruby On Rails 4,Ruby On Rails 5,Stripe Payments,Coupon,我在RubyonRails5网站上使用stripe作为支付网关计划。我在客户端使用的api与中显示的一样。我需要将优惠券添加到我的计划中,我可以像计划一样在testmode的stripe dashboard中创建优惠券,但是将id添加到代码中不会将我重定向到stripe checkout页面。这是我的javascript代码: <script src="https://js.stripe.com/v3"></script> &

我在RubyonRails5网站上使用stripe作为支付网关计划。我在客户端使用的api与中显示的一样。我需要将优惠券添加到我的计划中,我可以像计划一样在testmode的stripe dashboard中创建优惠券,但是将id添加到代码中不会将我重定向到stripe checkout页面。这是我的javascript代码:

    <script src="https://js.stripe.com/v3"></script>
    
    <script type="text/javascript">
    
      $(document).ready(function() {
    
        var stripe = Stripe('<%= Rails.configuration.stripe[:publishable_key] %>');
    
        $('.payment-action').on('click', function() {
    
          const data = $(this).data();
          const user_email = '<%= current_user ? current_user.email : ""%>'
          const user = '<%= current_user.id%>'
    
          stripe.redirectToCheckout({
            lineItems: [{
              // Define the product and price in the Dashboard first, and use the price
              // ID in your client-side code. You may also pass a SKU id into the `price`
              // field 
              price: data['plankey'],
              quantity: 1
            }],
            customerEmail: user_email,
            mode: 'subscription',
            subscriptionData: {
              coupon: 'WaS5wFHC'
            },        
            successUrl: 'https://www.my_web.network/success_payment?session_id={CHECKOUT_SESSION_ID}&p_i='+data['plan']+'&us='+user,
            cancelUrl: 'https://www.my_web.network/update_plan'
          });
        });
    
      });
    
    
    </script>

$(文档).ready(函数(){
变量条带=条带(“”);
$('payment action')。在('click',function()上{
const data=$(this.data();
const user_email=“”
常量用户=“”
stripe.redirectToCheckout({
行项目:[{
//首先在仪表板中定义产品和价格,然后使用价格
//客户端代码中的ID。您还可以将SKU ID传递到“价格”中`
//场
价格:数据['plankey'],
数量:1
}],
customerEmail:user\u电子邮件,
模式:“订阅”,
订阅数据:{
优惠券:“WaS5wFHC”
},        
成功URL:'https://www.my_web.network/success_payment?session_id={CHECKOUT_SESSION_ID}&p_i='+data['plan']+'&us='+user,
取消URL:'https://www.my_web.network/update_plan'
});
});
});
我一直试图让它出现在使用subscription_数据或subscriptionData时,但它仍然不起作用,我可能会错过什么

<script type="text/javascript">

  $(document).ready(function() {

    var stripe = Stripe('<%= Rails.configuration.stripe[:publishable_key] %>');

    $('.payment-action').on('click', function() {

      const data = $(this).data();
      const user_email = '<%= current_user ? current_user.email : ""%>'
      const user = '<%= current_user.id%>'

      stripe.redirectToCheckout({
        lineItems: [{
          // Define the product and price in the Dashboard first, and use the price
          // ID in your client-side code. You may also pass a SKU id into the `price`
          // field 
          price: data['plankey'],
          quantity: 1
        }],
        customerEmail: user_email,
        mode: 'subscription',
        subscription_data: {
          coupon: 'WaS5wFHC'
        },        
        successUrl: 'https://www.my_web.network/success_payment?session_id={CHECKOUT_SESSION_ID}&p_i='+data['plan']+'&us='+user,
        cancelUrl: 'https://www.my_web.network/update_plan'
      });
    });

  });


</script>

$(文档).ready(函数(){
变量条带=条带(“”);
$('payment action')。在('click',function()上{
const data=$(this.data();
const user_email=“”
常量用户=“”
stripe.redirectToCheckout({
行项目:[{
//首先在仪表板中定义产品和价格,然后使用价格
//客户端代码中的ID。您还可以将SKU ID传递到“价格”中`
//场
价格:数据['plankey'],
数量:1
}],
customerEmail:user\u电子邮件,
模式:“订阅”,
订阅数据:{
优惠券:“WaS5wFHC”
},        
成功URL:'https://www.my_web.network/success_payment?session_id={CHECKOUT_SESSION_ID}&p_i='+data['plan']+'&us='+user,
取消URL:'https://www.my_web.network/update_plan'
});
});
});

仅在客户端结账时,无法使用优惠券进行订阅。您必须在服务器上创建一个签出会话,在其中传递优惠券ID:

在仅客户端签出的订阅中不可能使用优惠券。您必须在服务器上创建一个签出会话,在其中传递优惠券ID: