diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index f535d6487d89..2f8338320603 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -2442,7 +2442,7 @@ protected static function repeatTransaction(&$contribution, $input, $contributio else { $contributionParams['financial_type_id'] = $templateContribution['financial_type_id']; } - foreach (['contact_id', 'currency', 'source', 'amount_level', 'address_id', 'on_behalf', 'source_contact_id'] as $fieldName) { + foreach (['contact_id', 'currency', 'source', 'amount_level', 'address_id', 'on_behalf', 'source_contact_id', 'tax_amount'] as $fieldName) { if (isset($templateContribution[$fieldName])) { $contributionParams[$fieldName] = $templateContribution[$fieldName]; } @@ -2465,9 +2465,6 @@ protected static function repeatTransaction(&$contribution, $input, $contributio if (isset($contribution->contribution_page_id) && is_numeric($contribution->contribution_page_id)) { $contributionParams['contribution_page_id'] = $contribution->contribution_page_id; } - if (!empty($contribution->tax_amount)) { - $contributionParams['tax_amount'] = $contribution->tax_amount; - } $createContribution = civicrm_api3('Contribution', 'create', $contributionParams); $contribution->id = $createContribution['id']; diff --git a/tests/phpunit/api/v3/ContributionTest.php b/tests/phpunit/api/v3/ContributionTest.php index 22da640db652..c8886af5b381 100644 --- a/tests/phpunit/api/v3/ContributionTest.php +++ b/tests/phpunit/api/v3/ContributionTest.php @@ -4721,8 +4721,10 @@ public function testContributionGetUnique() { /** * Test Repeat Transaction Contribution with Tax amount. * https://lab.civicrm.org/dev/core/issues/806 + * + * @throws \CRM_Core_Exception */ - public function testRepeatContributionWithTaxAmount() { + public function testRepeatContributionWithTaxAmount(): void { $this->enableTaxAndInvoicing(); $financialType = $this->callAPISuccess('financial_type', 'create', [ 'name' => 'Test taxable financial Type', @@ -4740,7 +4742,7 @@ public function testRepeatContributionWithTaxAmount() { $this->callAPISuccess('contribution', 'repeattransaction', [ 'original_contribution_id' => $contribution['id'], 'contribution_status_id' => 'Completed', - 'trxn_id' => uniqid(), + 'trxn_id' => 'test', ]); $payments = $this->callAPISuccess('Contribution', 'get', ['sequential' => 1])['values']; //Assert if first payment and repeated payment has the same contribution amount.