INFRA 32 - Batch #17
[civicrm-core.git] / api / v3 / Contribution.php
index b430cae7e5ab801f5b5a8864a795a7dbd4b57f5d..a9874d4dd05e0ba3cfc0415c80210f3479e847f1 100644 (file)
@@ -173,7 +173,7 @@ function _civicrm_api3_contribution_create_legacy_support_45(&$params) {
  * @param array $params
  *   (reference ) input parameters.
  *
- * @return boolean
+ * @return bool
  *   true if success, else false
  */
 function civicrm_api3_contribution_delete($params) {
@@ -301,6 +301,9 @@ function civicrm_api3_contribution_transact($params) {
     $params['invoiceID'] = $params['invoice_id'];
   }
 
+  // Some payment processors expect a unique invoice_id - generate one if not supplied
+  $params['invoice_id'] = CRM_Utils_Array::value('invoice_id', $params, md5(uniqid(rand(), TRUE)));
+
   $paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getPayment($params['payment_processor'], $params['payment_processor_mode']);
   if (civicrm_error($paymentProcessor)) {
     return $paymentProcessor;
@@ -338,13 +341,12 @@ function civicrm_api3_contribution_transact($params) {
  *   Input parameters.
  *
  * @throws Exception
- * @return array
- *   Api result array
+ *   Api result array.
  */
 function civicrm_api3_contribution_sendconfirmation($params) {
   $contribution = new CRM_Contribute_BAO_Contribution();
   $contribution->id = $params['id'];
-  if (! $contribution->find(TRUE)) {
+  if (!$contribution->find(TRUE)) {
     throw new Exception('Contribution does not exist');
   }
   $input = $ids = $cvalues = array('receipt_from_email' => $params['receipt_from_email']);
@@ -394,8 +396,7 @@ function _civicrm_api3_contribution_sendconfirmation_spec(&$params) {
  * {@getfields Contribution_completetransaction}
  *
  * @throws API_Exception
- * @return array
- *   Api result array
+ *   Api result array.
  */
 function civicrm_api3_contribution_completetransaction(&$params) {