Skip to content

Commit

Permalink
Calculate line_items when using installments.
Browse files Browse the repository at this point in the history
  • Loading branch information
KarinG committed May 29, 2018
1 parent a992df4 commit b506ac3
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions includes/wf_crm_webform_postprocess.inc
Original file line number Diff line number Diff line change
Expand Up @@ -1779,6 +1779,13 @@ class wf_crm_webform_postprocess extends wf_crm_webform_base {
// DRU-2862396 - we must ensure to only present 2 decimals to CiviCRM:
$contributionRecurAmount = floor(($contributionParams['total_amount'] / $installments) * 100) / 100;
$contributionFirstAmount = $contributionParams['total_amount'] - $contributionRecurAmount * ($installments - 1);
$salesTaxFirstAmount = $contributionParams['tax_amount'] - floor(($contributionParams['tax_amount'] / $installments) * 100) / 100 * ($installments - 1);
}
// Calculate the line_items for the contributionFirst:
foreach ($this->line_items as $key => $k) {
$this->line_items[$key]['unit_price'] = $k['unit_price'] / $installments;
$this->line_items[$key]['line_total'] = $k['line_total'] / $installments;
$this->line_items[$key]['tax_amount'] = $k['tax_amount'] / $installments;
}

// Create Params for Creating the Recurring Contribution Series and Create it
Expand All @@ -1803,6 +1810,7 @@ class wf_crm_webform_postprocess extends wf_crm_webform_base {

// Run the Transaction - and Create the Contribution Record - relay Recurring Series information in addition to the already existing Params [and re-key where needed]; at times two keys are required
$contributionParams['total_amount'] = $contributionFirstAmount;
$contributionParams['tax_amount'] = $salesTaxFirstAmount;
$additionalParams = array(
'contribution_recur_id' => $resultRecur['id'],
'contributionRecurID' => $resultRecur['id'],
Expand Down

0 comments on commit b506ac3

Please sign in to comment.