$contributionRecurParams = array(
'contact_id' => $paymentParams['contactID'],
'amount' => $paymentParams['total_amount'],
+ 'contribution_status_id' => 'Pending',
'payment_processor_id' => $paymentParams['payment_processor_id'],
'campaign_id' => CRM_Utils_Array::value('campaign_id', $paymentParams),
'financial_type_id' => $paymentParams['financial_type_id'],
- 'is_email_receipt' => CRM_Utils_Array::value('is_email_receipt', $paymentParams),
- // This is not great as it could also be direct debit - but is consistent with elsewhere & all need fixing.
+ 'is_email_receipt' => $paymentParams['is_email_receipt'],
'payment_instrument_id' => 1,
- 'invoice_id' => CRM_Utils_Array::value('invoiceID ', $paymentParams),
+ 'invoice_id' => $paymentParams['invoice_id'],
);
$mapping = array(
$this->_params['amount'] = $formValues['total_amount'];
$this->_params['currencyID'] = $config->defaultCurrency;
$this->_params['payment_action'] = 'Sale';
- $paymentParams['invoiceID'] = $this->_params['invoiceID'] = md5(uniqid(rand(), TRUE));
-
// at this point we've created a contact and stored its address etc
// all the payment processors expect the name and address to be in the passed params
// so we copy stuff over to first_name etc.
$paymentParams = $this->_params;
+ $paymentParams['invoiceID'] = $paymentParams['invoice_id'] = $this->_params['invoiceID'] = md5(uniqid(rand(), TRUE));
+
if (!empty($this->_params['send_receipt'])) {
$paymentParams['email'] = $this->_contributorEmail;
}
+ $paymentParams['is_email_receipt'] = !empty($this->_params['send_receipt']);
$paymentParams['contactID'] = $this->_contributorContactID;
$params['create_date']['api.default'] = 'now';
$params['frequency_interval']['api.required'] = 1;
$params['start_date']['api.default'] = 'now';
+ $params['modified_date']['api.default'] = 'now';
}
/**