<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 5 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019 |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM. |
- | |
- | CiviCRM is free software; you can copy, modify, and distribute it |
- | under the terms of the GNU Affero General Public License |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
+ | Copyright CiviCRM LLC. All rights reserved. |
| |
- | CiviCRM is distributed in the hope that it will be useful, but |
- | WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | See the GNU Affero General Public License for more details. |
- | |
- | You should have received a copy of the GNU Affero General Public |
- | License and the CiviCRM Licensing Exception along |
- | with this program; if not, contact CiviCRM LLC |
- | at info[AT]civicrm[DOT]org. If you have questions about the |
- | GNU Affero General Public License or the licensing of CiviCRM, |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
$params['domain_id']['api.default'] = CRM_Core_Config::domainID();
$params['financial_account_id']['api.default'] = CRM_Financial_BAO_PaymentProcessor::getDefaultFinancialAccountID();
$params['financial_account_id']['api.required'] = TRUE;
+ $params['financial_account_id']['type'] = CRM_Utils_Type::T_INT;
$params['financial_account_id']['title'] = ts('Financial Account for Processor');
+ $params['financial_account_id']['pseudoconstant'] = [
+ 'table' => 'civicrm_financial_account',
+ 'keyColumn' => 'id',
+ 'labelColumn' => 'name',
+ ];
}
/**
$processor = Civi\Payment\System::singleton()->getById($params['payment_processor_id']);
$processor->setPaymentProcessor(civicrm_api3('PaymentProcessor', 'getsingle', ['id' => $params['payment_processor_id']]));
try {
- $processor->setContributionID($params['contribution_id']);
- $processor->setInvoiceID($params['invoice_id'] ?? '');
- if (!empty($params['contact_id'])) {
- $processor->setContactID((int) $params['contact_id']);
- }
- if (!empty($params['contribution_recur_id'])) {
- $processor->setContributionRecurID((int) $params['contribution_recur_id']);
- }
-
$result = $processor->doPayment($params);
}
catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
}
throw new API_Exception('Payment failed', $code, $errorData, $e);
}
- return civicrm_api3_create_success([$result], $params);
+ return civicrm_api3_create_success(array($result), $params);
}
/**