dev/core#2493 Stop attempting to format money in the processor class
authoreileen <emcnaughton@wikimedia.org>
Mon, 12 Apr 2021 03:23:07 +0000 (15:23 +1200)
committereileen <emcnaughton@wikimedia.org>
Mon, 12 Apr 2021 03:23:07 +0000 (15:23 +1200)
We've said this is wrong before but it has survived until now because it seemed scarier to change it. However,
now the reverse seems true.

The value in amount should always be machine friendly and there are no known processors
that expect locale specific formatting.

On the other hand the format() function is intended to prepare money for DISPLAY which
is not what is going on here

CRM/Core/Payment.php

index 8064029670ca052daecd2106bf2e6f279ed6a799..8a2b58fe384cf4e00dfa8d830985a0ea3dfb1ecc 100644 (file)
@@ -1164,7 +1164,7 @@ abstract class CRM_Core_Payment {
    * @throws \CRM_Core_Exception
    */
   protected function getAmount($params = []) {
-    return CRM_Utils_Money::format($params['amount'], NULL, NULL, TRUE);
+    return $params['amount'];
   }
 
   /**