Merge pull request #15321 from yashodha/dev_1065
[civicrm-core.git] / api / v3 / Payment.php
index a2deaf562c77c84ddc4172074e4c7f5cea207d50..4ec6647c22d3aa4f455d7588f9debd577e4f0bde 100644 (file)
 function civicrm_api3_payment_get($params) {
   $financialTrxn = [];
   $limit = '';
-  if (isset($params['options']) && CRM_Utils_Array::value('limit', $params['options'])) {
+  if (isset($params['options']) && !empty($params['options']['limit'])) {
     $limit = CRM_Utils_Array::value('limit', $params['options']);
   }
   $params['options']['limit'] = 0;
+  if (isset($params['trxn_id'])) {
+    $params['financial_trxn_id.trxn_id'] = $params['trxn_id'];
+  }
   $eft = civicrm_api3('EntityFinancialTrxn', 'get', $params);
   if (!empty($eft['values'])) {
     $eftIds = [];
@@ -132,7 +135,7 @@ function civicrm_api3_payment_cancel($params) {
  */
 function civicrm_api3_payment_create($params) {
   // Check if it is an update
-  if (CRM_Utils_Array::value('id', $params)) {
+  if (!empty($params['id'])) {
     $amount = $params['total_amount'];
     civicrm_api3('Payment', 'cancel', $params);
     $params['total_amount'] = $amount;
@@ -178,6 +181,12 @@ function _civicrm_api3_payment_create_spec(&$params) {
       'title' => ts('Cancel Date'),
       'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
     ],
+    'is_send_contribution_notification' => [
+      'title' => ts('Send out notifications based on contribution status change?'),
+      'description' => ts('Most commonly this equates to emails relating to the contribution, event, etcwhen a payment completes a contribution'),
+      'type' => CRM_Utils_Type::T_BOOLEAN,
+      'api.default' => TRUE,
+    ],
   ];
 }
 
@@ -204,6 +213,10 @@ function _civicrm_api3_payment_get_spec(&$params) {
       'type' => CRM_Utils_Type::T_INT,
       'api.aliases' => ['contribution_id'],
     ],
+    'trxn_id' => [
+      'title' => 'Transaction ID',
+      'type' => CRM_Utils_Type::T_STRING,
+    ],
   ];
 }