[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 fromb335ae0348which 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 independentlyecda057e11
This commit is contained in:
@@ -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,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user