gpt4 book ai didi

javascript - 将实时更新传递给 Stripe Checkout Amount

转载 作者:行者123 更新时间:2023-11-29 18:10:01 25 4
gpt4 key购买 nike

我正在尝试在将由 Pusher 更新的 Stripe Checkout UI 中实现可变价格。

我首先将 Pusher 消息分配给一个名为 price 的全局变量。

  <script type="text/javascript">
var pusher = new Pusher('7a5433c6fc39502a4a02');
var channel = pusher.subscribe('the_channel');
var price
channel.bind('the_event', function(data) {
price = data.message
});
</script>

如果我将 price 分配给 data-amount,我就会面临两个问题:

1- process-wise,该字段默认为空,仅在 Pusher 发送消息时填充。

2- 语法方面,变量当前在推送时甚至不呈现消息

<%= form_tag charges_path, class: 'stripeform' do %>
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
data-amount= <%= @price %>
</script>
<% end %>

怎么办?

最佳答案

我建议您在 Rails Controller 中为 @price 设置一个默认值。

然后按照 Stripe 上的文档,您可以使用类似这样的方法来创建价格可变的按钮。请记住,正如 Stripe 文档所说,您仍然需要在

<script src="https://checkout.stripe.com/checkout.js"></script>

<div id="price-display">$<%= @price %></div>
<button id="customButton">Purchase</button>

<script>
var price = parseInt("<%= @price %>");

var pusher = new Pusher('7a5433c6fc39502a4a02');
var channel = pusher.subscribe('the_channel');
channel.bind('the_event', function(data) {
price = parseInt(data.message);
document.getElementById('price-display').innerHTML = "$" + data.message;
});

var handler = StripeCheckout.configure({
key: "<%= Rails.configuration.stripe[:publishable_key] %>",
image: '/square-image.png',
token: function(token) {
// Use the token to create the charge with a server-side script.
// You can access the token ID with `token.id`
}
});

$('#customButton').on('click', function(e) {
// Open Checkout with further options
handler.open({
name: 'Demo Site',
description: '2 widgets',
amount: price
});
e.preventDefault();
});

// Close Checkout on page navigation
$(window).on('popstate', function() {
handler.close();
});
</script>

有关更多 Stripe 相关信息,请参阅此处:https://stripe.com/docs/checkout#integration-custom

关于javascript - 将实时更新传递给 Stripe Checkout Amount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28267052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com