End SEPA mandates when ending a debit_manual recurring contribution.
This commit is contained in:
parent
8ff71e277e
commit
2f4358c1b4
2 changed files with 25 additions and 7 deletions
|
@ -70,12 +70,30 @@ function civicrm_api3_twingle_donation_EndRecurring($params) {
|
||||||
$contribution = civicrm_api3('ContributionRecur', 'getsingle', array(
|
$contribution = civicrm_api3('ContributionRecur', 'getsingle', array(
|
||||||
'trxn_id' => $params['trx_id'],
|
'trxn_id' => $params['trx_id'],
|
||||||
));
|
));
|
||||||
// TODO: End SEPA mandates?
|
// End SEPA mandate (which ends the associated recurring contribution) or
|
||||||
|
// recurring contributions.
|
||||||
|
if (
|
||||||
|
CRM_Twingle_Submission::civiSepaEnabled()
|
||||||
|
&& CRM_Sepa_Logic_Settings::isSDD($contribution)
|
||||||
|
) {
|
||||||
|
$mandate_id = CRM_Sepa_Logic_Settings::getMandateFor($contribution['id']);
|
||||||
|
if (!CRM_Sepa_BAO_SEPAMandate::terminateMandate($mandate_id, $params['ended_at'])) {
|
||||||
|
throw new CiviCRM_API3_Exception(
|
||||||
|
E::ts('Could not terminate SEPA mandate'),
|
||||||
|
'api_error'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$contribution = civicrm_api3('ContributionRecur', 'getsingle', array(
|
||||||
|
'id' => $contribution['id'],
|
||||||
|
));
|
||||||
|
}
|
||||||
|
else {
|
||||||
$contribution = civicrm_api3('ContributionRecur', 'create', array(
|
$contribution = civicrm_api3('ContributionRecur', 'create', array(
|
||||||
'id' => $contribution['id'],
|
'id' => $contribution['id'],
|
||||||
'end_date' => $params['ended_at'],
|
'end_date' => $params['ended_at'],
|
||||||
'contribution_status_id' => 'Completed', // TODO: Correct?
|
'contribution_status_id' => 'Completed',
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
$result = civicrm_api3_create_success($contribution);
|
$result = civicrm_api3_create_success($contribution);
|
||||||
}
|
}
|
||||||
|
|
|
@ -492,7 +492,7 @@ function civicrm_api3_twingle_donation_Submit($params) {
|
||||||
$contribution_recur_data =
|
$contribution_recur_data =
|
||||||
$contribution_data
|
$contribution_data
|
||||||
+ array(
|
+ array(
|
||||||
'contribution_status_id' => 'Pending', // TODO: Or "In Progress"?
|
'contribution_status_id' => 'Pending',
|
||||||
'start_date' => $params['confirmed_at'],
|
'start_date' => $params['confirmed_at'],
|
||||||
)
|
)
|
||||||
+ CRM_Twingle_Submission::getFrequencyMapping($params['donation_rhythm']);
|
+ CRM_Twingle_Submission::getFrequencyMapping($params['donation_rhythm']);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue