* @throws Exception
*/
function civicrm_api3_contribution_sendconfirmation($params) {
- $contribution = new CRM_Contribute_BAO_Contribution();
- $contribution->id = $params['id'];
- if (!$contribution->find(TRUE)) {
- throw new Exception('Contribution does not exist');
+ $input = $ids = $values = array();
+ $passThroughParams = array(
+ 'receipt_from_email',
+ 'receipt_from_name',
+ 'receipt_update',
+ 'cc_receipt',
+ 'bcc_receipt',
+ 'receipt_text',
+ 'payment_processor_id',
+ );
+ foreach ($passThroughParams as $key) {
+ if (isset($params[$key])) {
+ $input[$key] = $params[$key];
+ }
}
- $input = $ids = $cvalues = array('receipt_from_email' => $params['receipt_from_email']);
- $contribution->loadRelatedObjects($input, $ids, TRUE);
- $contribution->composeMessageArray($input, $ids, $cvalues, FALSE, FALSE);
+ CRM_Contribute_BAO_Contribution::sendMail($input, $ids, $params['id'], $values);
}
/**
function _civicrm_api3_contribution_sendconfirmation_spec(&$params) {
$params['id'] = array(
'api.required' => 1,
- 'title' => 'Contribution ID',
+ 'title' => ts('Contribution ID'),
'type' => CRM_Utils_Type::T_INT,
);
$params['receipt_from_email'] = array(
- 'api.required' => 1,
- 'title' => 'From Email address (string) required until someone provides a patch :-)',
+ 'title' => ts('From Email address (string)'),
'type' => CRM_Utils_Type::T_STRING,
);
$params['receipt_from_name'] = array(
- 'title' => 'From Name (string)',
+ 'title' => ts('From Name (string)'),
'type' => CRM_Utils_Type::T_STRING,
);
$params['cc_receipt'] = array(
- 'title' => 'CC Email address (string)',
+ 'title' => ts('CC Email address (string)'),
'type' => CRM_Utils_Type::T_STRING,
);
$params['bcc_receipt'] = array(
- 'title' => 'BCC Email address (string)',
+ 'title' => ts('BCC Email address (string)'),
'type' => CRM_Utils_Type::T_STRING,
);
$params['receipt_text'] = array(
- 'title' => 'Message (string)',
+ 'title' => ts('Message (string)'),
'type' => CRM_Utils_Type::T_STRING,
);
+ $params['receipt_update'] = array(
+ 'title' => ts('Update the Receipt Date'),
+ 'type' => CRM_Utils_Type::T_BOOLEAN,
+ 'api.default' => TRUE,
+ );
+ $params['payment_processor_id'] = array(
+ 'title' => ts('Payment processor Id (avoids mis-guesses)'),
+ 'type' => CRM_Utils_Type::T_INT,
+ );
}
/**
* @param array $params
* Input parameters.
*
- * @throws API_Exception
- * Api result array.
+ * @return array
+ * API result array
+ * @throws \API_Exception
+ * @throws \CRM_Core_Exception
+ * @throws \Exception
*/
function civicrm_api3_contribution_completetransaction(&$params) {
if (!empty($params['fee_amount'])) {
$input['fee_amount'] = $params['fee_amount'];
}
- $params = _ipn_process_transaction($params, $contribution, $input, $ids);
+ return _ipn_process_transaction($params, $contribution, $input, $ids);
}
}
unset($contribution->id, $contribution->receive_date, $contribution->invoice_id);
- $contribution->contribution_status_id = $params['contribution_status_id'];
$contribution->receive_date = $params['receive_date'];
- $passThroughParams = array('trxn_id', 'total_amount', 'campaign_id', 'fee_amount', 'financial_type_id');
+ $passThroughParams = array(
+ 'trxn_id',
+ 'total_amount',
+ 'campaign_id',
+ 'fee_amount',
+ 'financial_type_id',
+ 'contribution_status_id',
+ );
$input = array_intersect_key($params, array_fill_keys($passThroughParams, NULL));
- $params = _ipn_process_transaction($params, $contribution, $input, $ids, $original_contribution);
+ return _ipn_process_transaction($params, $contribution, $input, $ids, $original_contribution);
}
catch(Exception $e) {
throw new API_Exception('failed to load related objects' . $e->getMessage() . "\n" . $e->getTraceAsString());
$input['receipt_from_email'] = CRM_Utils_Array::value('receipt_from_email', $params, $domainFromEmail);
}
$transaction = new CRM_Core_Transaction();
- CRM_Contribute_BAO_Contribution::completeOrder($input, $ids, $objects, $transaction, !empty($contribution->contribution_recur_id), $contribution,
+ return CRM_Contribute_BAO_Contribution::completeOrder($input, $ids, $objects, $transaction, !empty
+ ($contribution->contribution_recur_id), $contribution,
FALSE, FALSE);
- return $params;
}
/**