Skip to content

Commit

Permalink
Merge pull request #17500 from eileenmcnaughton/renew_can
Browse files Browse the repository at this point in the history
[Ref] Throw exceptions from Authorize.net rather than return errors
  • Loading branch information
seamuslee001 authored Jun 8, 2020
2 parents 911365c + 2edc95e commit 5b4c15a
Showing 1 changed file with 12 additions and 20 deletions.
32 changes: 12 additions & 20 deletions CRM/Core/Payment/AuthorizeNet.php
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,7 @@ public function doDirectPayment(&$params) {
}

if (!empty($params['is_recur']) && !empty($params['contributionRecurID'])) {
$result = $this->doRecurPayment();
if (is_a($result, 'CRM_Core_Error')) {
return $result;
}
$this->doRecurPayment();
return $params;
}

Expand Down Expand Up @@ -237,36 +234,31 @@ public function doRecurPayment() {

$intervalLength = $this->_getParam('frequency_interval');
$intervalUnit = $this->_getParam('frequency_unit');
if ($intervalUnit == 'week') {
if ($intervalUnit === 'week') {
$intervalLength *= 7;
$intervalUnit = 'days';
}
elseif ($intervalUnit == 'year') {
elseif ($intervalUnit === 'year') {
$intervalLength *= 12;
$intervalUnit = 'months';
}
elseif ($intervalUnit === 'day') {
$intervalUnit = 'days';
}
elseif ($intervalUnit == 'month') {
$intervalUnit = 'months';
}

// interval cannot be less than 7 days or more than 1 year
if ($intervalUnit == 'days') {
// interval cannot be less than 7 days or more than 1 year
if ($intervalLength < 7) {
return self::error(9001, 'Payment interval must be at least one week');
throw new PaymentProcessorException('Payment interval must be at least one week', 9001);
}
elseif ($intervalLength > 365) {
return self::error(9001, 'Payment interval may not be longer than one year');
if ($intervalLength > 365) {
throw new PaymentProcessorException('Payment interval may not be longer than one year', 9001);
}
}
elseif ($intervalUnit == 'months') {
elseif ($intervalUnit === 'month') {
$intervalUnit = 'months';
if ($intervalLength < 1) {
return self::error(9001, 'Payment interval must be at least one week');
throw new PaymentProcessorException('Payment interval must be at least one week', 9001);
}
elseif ($intervalLength > 12) {
return self::error(9001, 'Payment interval may not be longer than one year');
if ($intervalLength > 12) {
throw new PaymentProcessorException('Payment interval may not be longer than one year', 9001);
}
}

Expand Down

0 comments on commit 5b4c15a

Please sign in to comment.