diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index 496d64dcda22..44e6d7feffac 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -4819,7 +4819,7 @@ public static function checkLineItems(&$params) { if (empty($item['financial_type_id'])) { $item['financial_type_id'] = $params['financial_type_id']; } - $lineItemAmount += $item['line_total'] + CRM_Utils_Array::value('tax_amount', $item, 0.00); + $lineItemAmount += $item['line_total'] + ($item['tax_amount'] ?? 0.00); } } @@ -4827,11 +4827,7 @@ public static function checkLineItems(&$params) { $params['total_amount'] = $lineItemAmount; } else { - $currency = CRM_Utils_Array::value('currency', $params, ''); - - if (empty($currency)) { - $currency = CRM_Core_Config::singleton()->defaultCurrency; - } + $currency = $params['currency'] ?? CRM_Core_Config::singleton()->defaultCurrency; if (!CRM_Utils_Money::equals($totalAmount, $lineItemAmount, $currency)) { throw new CRM_Contribute_Exception_CheckLineItemsException(); diff --git a/api/v3/Order.php b/api/v3/Order.php index 32d59a193954..5e9c07b81bac 100644 --- a/api/v3/Order.php +++ b/api/v3/Order.php @@ -83,7 +83,7 @@ function civicrm_api3_order_create($params) { $priceSetID = NULL; CRM_Contribute_BAO_Contribution::checkLineItems($params); foreach ($params['line_items'] as $lineItems) { - $entityParams = CRM_Utils_Array::value('params', $lineItems, []); + $entityParams = $lineItems['params'] ?? []; if (!empty($entityParams) && !empty($lineItems['line_item'])) { $item = reset($lineItems['line_item']); $entity = str_replace('civicrm_', '', $item['entity_table']); @@ -105,7 +105,7 @@ function civicrm_api3_order_create($params) { } if (empty($priceSetID)) { $item = reset($lineItems['line_item']); - $priceSetID = civicrm_api3('PriceField', 'getvalue', [ + $priceSetID = (int) civicrm_api3('PriceField', 'getvalue', [ 'return' => 'price_set_id', 'id' => $item['price_field_id'], ]); @@ -142,10 +142,10 @@ function civicrm_api3_order_create($params) { elseif ($entity == 'membership') { $paymentParams['isSkipLineItem'] = TRUE; } - $payments = civicrm_api3($entity . '_payment', 'create', $paymentParams); + civicrm_api3($entity . '_payment', 'create', $paymentParams); } } - return civicrm_api3_create_success(CRM_Utils_Array::value('values', $contribution), $params, 'Order', 'create'); + return civicrm_api3_create_success($contribution['values'] ?? [], $params, 'Order', 'create'); } /**