Javascript 如何将优惠券添加到条带结帐
我在RubyonRails5网站上使用stripe作为支付网关计划。我在客户端使用的api与中显示的一样。我需要将优惠券添加到我的计划中,我可以像计划一样在testmode的stripe dashboard中创建优惠券,但是将id添加到代码中不会将我重定向到stripe checkout页面。这是我的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> &
<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: