Skip to content

Commit

Permalink
Merge pull request colemanw#140 from colemanw/installments_lineItems
Browse files Browse the repository at this point in the history
Calculate line_items when using installments.
  • Loading branch information
colemanw authored Jun 12, 2018
2 parents a992df4 + 1d2384e commit 3a1a905
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions includes/wf_crm_webform_postprocess.inc
Original file line number Diff line number Diff line change
Expand Up @@ -1779,6 +1779,14 @@ 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 +1811,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 3a1a905

Please sign in to comment.