mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 13:44:42 +08:00
Do not send decimals when currency does not support them
This commit is contained in:
parent
c3405cb464
commit
412dfbb7cf
2 changed files with 20 additions and 2 deletions
|
@ -28,6 +28,13 @@ class Amount {
|
|||
*/
|
||||
private $breakdown;
|
||||
|
||||
/**
|
||||
* Currencies that does not support decimals.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $currencies_without_decimals = array( 'HUF', 'JPY', 'TWD' );
|
||||
|
||||
/**
|
||||
* Amount constructor.
|
||||
*
|
||||
|
@ -74,7 +81,9 @@ class Amount {
|
|||
public function to_array(): array {
|
||||
$amount = array(
|
||||
'currency_code' => $this->currency_code(),
|
||||
'value' => number_format( $this->value(), 2, '.', '' ),
|
||||
'value' => in_array( $this->currency_code(), $this->currencies_without_decimals, true )
|
||||
? round( $this->value(), 0 )
|
||||
: number_format( $this->value(), 2, '.', '' ),
|
||||
);
|
||||
if ( $this->breakdown() && count( $this->breakdown()->to_array() ) ) {
|
||||
$amount['breakdown'] = $this->breakdown()->to_array();
|
||||
|
|
|
@ -28,6 +28,13 @@ class Money {
|
|||
*/
|
||||
private $value;
|
||||
|
||||
/**
|
||||
* Currencies that does not support decimals.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $currencies_without_decimals = array( 'HUF', 'JPY', 'TWD' );
|
||||
|
||||
/**
|
||||
* Money constructor.
|
||||
*
|
||||
|
@ -65,7 +72,9 @@ class Money {
|
|||
public function to_array(): array {
|
||||
return array(
|
||||
'currency_code' => $this->currency_code(),
|
||||
'value' => number_format( $this->value(), 2, '.', '' ),
|
||||
'value' => in_array( $this->currency_code(), $this->currencies_without_decimals, true )
|
||||
? round( $this->value(), 0 )
|
||||
: number_format( $this->value(), 2, '.', '' ),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue