odoo/odoo#191084

Created by fw-bot
Merged at 8e2fcdc50acd103f779296a90539a39623cecf8d

Statuses:

label
odoo-dev:saas-17.2-17.0-opw-4191877-mercado_pago_currency_rounding-sile-GPOx-fw
head
036aab07b284fe83150a4a747e30369216714c6f
merged
10 months ago by Bugfix, Levi Siuzdak
odoo/odoo
17.0 #185664
saas-17.2 #191084
saas-17.4 #191175
18.0 #191191
saas-18.2
saas-18.3
saas-18.4
19.0
master #191214

[FW][FIX] payment_mercado_pago: round payment tx amounts for COP, HLN & NIO

Versions

  • 17.0+

Steps

  1. Use COP, HLN or NIO as currency;
  2. create a SO or invoice with a non-integer amount total;
  3. create a payment link;
  4. pay using Mercado Pago.

Issue

> Error processing payment
> Prices in COP currency must be expressed with integer values

Cause

Our currency defaults follow the ISO 4217 standard for minor units. For three currencies (COP, HLN & NIO), Mercado Pago only accepts integer amounts instead of the standard 2 decimals, resulting in a failed payment transaction.

Solution

In the payload sent to Mercado Pago, round the amount down if it uses one of the affected currencies.

opw-4191877

Forward-Port-Of: #185664