[FIX] payment_stripe: integer currencies (portal payment)

Before this commit:
On portal (My Account > Invoices > Pay Now), a stripe payment in a normal
currency (eg: a non integer currency) would debit the amount *100.
This comes from b335ae0348 which added a workflow to handle integer
currencies but it also sent the *100 amount to /website_payment/transaction
that would create a TX with that amount instead of the normal amount.

Now, the normal amount is correctly sent to the backend, the multiplied amount
is just sent to StripeCheckout handler to correctly display the amount on the
popup after clicking on "Pay Now".

Note: the amount will be multiplied on the backend independently ecda057e11
This commit is contained in:
Romain Derie
2018-02-07 13:59:33 +01:00
parent a93a9d43e6
commit 66e76d681d
@@ -70,9 +70,6 @@ odoo.define('payment_stripe.stripe', function(require) {
var currency = $("input[name='currency']").val();
var currency_id = $("input[name='currency_id']").val();
var amount = parseFloat($("input[name='amount']").val() || '0.0');
if (!_.contains(int_currencies, currency)) {
amount = amount*100;
}
ajax.jsonRpc('/website_payment/transaction', 'call', {
reference: $("input[name='invoice_num']").val(),
@@ -84,14 +81,11 @@ odoo.define('payment_stripe.stripe', function(require) {
name: $("input[name='merchant']").val(),
description: $("input[name='invoice_num']").val(),
currency: currency,
amount: amount,
amount: _.contains(int_currencies, currency) ? amount : amount * 100,
});
} else {
var currency = $("input[name='currency']").val();
var amount = parseFloat($("input[name='amount']").val() || '0.0');
if (!_.contains(int_currencies, currency)) {
amount = amount*100;
}
ajax.jsonRpc('/shop/payment/transaction/' + acquirer_id, 'call', {
so_id: so_id,
@@ -102,7 +96,7 @@ odoo.define('payment_stripe.stripe', function(require) {
name: $("input[name='merchant']").val(),
description: $("input[name='invoice_num']").val(),
currency: currency,
amount: amount,
amount: _.contains(int_currencies, currency) ? amount : amount * 100,
});
});
}