Solución:
Resulta que para tener una cantidad de datos dinámica para el pago de franjas, debe usar Pago personalizado en lugar de Pago simple. Este código hizo el truco.
<button class="btn btn-primary btn-lg" id="stripe-button">
Checkout <span class="glyphicon glyphicon-shopping-cart"></span>
</button>
<script>
$('#stripe-button').click(function(){
var token = function(res){
var $id = $('<input type=hidden name=stripeToken />').val(res.id);
var $email = $('<input type=hidden name=stripeEmail />').val(res.email);
$('form').append($id).append($email).submit();
};
var amount = $("#stripeAmount").val();
StripeCheckout.open({
key: '{{ STRIPE_PUBLIC_KEY }}',
amount: amount,
name: 'Serendipity Artisan Blends',
image: '{% static "img/marketplace.png" %}',
description: 'Purchase Products',
panelLabel: 'Checkout',
token: token
});
return false;
});
</script>
O simplemente puede usar el siguiente código antes de hacer clic en el botón de la raya 😉
StripeCheckout.__app.configurations.button0.amount = 1234;
$('#stripe-button').click();
Como dijo @awwester, puede usar los pagos personalizados de Stripe. Aunque encontré una manera más fácil de hacer esto a través de jQuery simplemente volviendo a montar el script con la variable cambiada cada vez que aumentan la cantidad:
$("#stripe-form").html(
'<input type="hidden" name="amount" value="' +
totalCost.replace(".", "") +
'" /><input type="hidden" name="currency" value="usd" /><script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_123123123123" data-amount="' +
totalCost.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>'
);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)