我需要让我的脚本结帐使用我的var $priceCheckout = $('#priceCheckout');
作为结帐价格值。
我试图替换data-amount =" 2000"与data-amount= $priceCheckout;
没有任何运气。所以要清楚!
需要花费我的$ priceCheckout并将其置于数据量的位置,以便$ priceCheckout的价值为结账价格!
<form action="" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="Personal key"
data-amount= ???
data-name="Elo Calculator"
data-description="Checkout price"
data-image="/128x128.png"
data-locale="auto">
</script>
</form>
这是我的脚本。
$(function () {
// Store references to frequently used elements - for speed.
var $divFrom = $('#division-from');
var $divTo = $('#division-to');
var $tierFrom = $('#tier-from');
var $tierTo = $('#tier-to');
var $price = $('#price');
var $priceCheckout = $('#priceCheckout');
// Select price calculation callback
$(document).on('change', '.price-modifier', function () {
var divFrom = $divFrom.val();
var divTo = $divTo.val();
var tierFrom = $tierFrom.val();
var tierTo = $tierTo.val();
// Error handling
var errors = validatePriceModifiers(divFrom, tierFrom, divTo, tierTo);
if (errors.length === 0) {
// No errors
var price = getPrice(divFrom, tierFrom, divTo, tierTo);
$price.html(price + ' €' + '<br /> <br />' + '<button type="submit" data-toggle="modal" data-target="#myModal" class="btn btn-info">Buy</button>');
$priceCheckout.html(price);
} else {
// Display errors
$price.empty();
for (var i = 0; i < errors.length; i++) {
$price.append($('<p>').html(errors[i].message));
}
}
});
});
答案 0 :(得分:5)
您需要使用Checkout custom integration。
这是一个简单的小提示,展示如何使用用户指定金额的Checkout:https://jsfiddle.net/ywain/g2ufa8xr/
您可以使用相同的逻辑插入自己的值作为amount
调用中的handler.open()
参数。
答案 1 :(得分:0)
这里的关键是data-amount
是HTML脚本标记的属性。 不是一个JavaScript变量,您可以不直接在HTML标记中为其分配一个(如<element attribute=variable-name>
)。
但是,您可以使用以下JavaScript为其指定值:
$('.stripe-button').attr('data-amount', $priceCheckout);
该代码会将具有类data-amount
的任何HTMl元素的属性stripe-button
更改为代码运行时变量$priceCheckout
所具有的值。
那么你什么时候想跑呢?您需要在$priceCheckout
设置为变量后运行它(如果价格发生变化,您需要再次运行它以进行更新)。但是你需要在使用该值运行的任何代码之前运行它。
答案 2 :(得分:0)
您可以使用Stripe的自定义结帐。虽然,我发现通过jQuery更简单的方法,只需每次增加数量时使用更改的变量重新编写脚本:
var $priceCheckout = $('#priceCheckout');
$("#stripe-form").html(
'<script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_123123123123" data-amount="' +
$priceCheckout.replace(".", "") +
'" data-zip-code="true" data-currency="usd" data-billing-address="true" data-shipping-address="true" data-name="Company Name" data-description="Product Name" data-image="https://image" data-locale="auto"></script>'
);