diff --git a/CRM/Core/Payment/Stripe.php b/CRM/Core/Payment/Stripe.php index 6a5eac88f2fc9af19c2e15c1b3543308c2b73416..c833f4e7bc6324304aa8539acf0d17a12e8d859d 100644 --- a/CRM/Core/Payment/Stripe.php +++ b/CRM/Core/Payment/Stripe.php @@ -144,46 +144,6 @@ class CRM_Core_Payment_Stripe extends CRM_Core_Payment { break; } } - catch (Stripe_CardError $e) { - $this->logStripeException($op, $e); - $error_message = ''; - // Since it's a decline, Stripe_CardError will be caught - $body = $e->getJsonBody(); - $err = $body['error']; - - //$error_message .= 'Status is: ' . $e->getHttpStatus() . "<br />"; - ////$error_message .= 'Param is: ' . $err['param'] . "<br />"; - $error_message .= 'Type: ' . $err['type'] . '<br />'; - $error_message .= 'Code: ' . $err['code'] . '<br />'; - $error_message .= 'Message: ' . $err['message'] . '<br />'; - - $newnote = civicrm_api3('Note', 'create', array( - 'sequential' => 1, - 'entity_id' => $params['contactID'], - 'contact_id' => $params['contributionID'], - 'subject' => $err['type'], - 'note' => $err['code'], - 'entity_table' => "civicrm_contributions", - )); - - if (isset($error_url)) { - // Redirect to first page of form and present error. - CRM_Core_Error::statusBounce("Oops! Looks like there was an error. Payment Response: - <br /> {$error_message}", $error_url); - } - else { - // Don't have return url - return error object to api - $core_err = CRM_Core_Error::singleton(); - $message = 'Oops! Looks like there was an error. Payment Response: <br />' . $error_message; - if ($err['code']) { - $core_err->push($err['code'], 0, NULL, $message); - } - else { - $core_err->push(9000, 0, NULL, 'Unknown Error'); - } - return $core_err; - } - } catch (Exception $e) { if (is_a($e, 'Stripe_Error')) { foreach ($ignores as $ignore) { @@ -195,9 +155,9 @@ class CRM_Core_Payment_Stripe extends CRM_Core_Payment { } } } - $this->logStripeException($op, $e); } - // Something else happened, completely unrelated to Stripe + + $this->logStripeException($op, $e); $error_message = ''; // Since it's a decline, Stripe_CardError will be caught $body = $e->getJsonBody(); @@ -205,9 +165,20 @@ class CRM_Core_Payment_Stripe extends CRM_Core_Payment { //$error_message .= 'Status is: ' . $e->getHttpStatus() . "<br />"; ////$error_message .= 'Param is: ' . $err['param'] . "<br />"; - $error_message .= 'Type: ' . $err['type'] . "<br />"; - $error_message .= 'Code: ' . $err['code'] . "<br />"; - $error_message .= 'Message: ' . $err['message'] . "<br />"; + $error_message .= 'Type: ' . $err['type'] . '<br />'; + $error_message .= 'Code: ' . $err['code'] . '<br />'; + $error_message .= 'Message: ' . $err['message'] . '<br />'; + + if (is_a($e, 'Stripe_CardError')) { + $newnote = civicrm_api3('Note', 'create', array( + 'sequential' => 1, + 'entity_id' => $params['contactID'], + 'contact_id' => $params['contributionID'], + 'subject' => $err['type'], + 'note' => $err['code'], + 'entity_table' => "civicrm_contributions", + )); + } if (isset($error_url)) { // Redirect to first page of form and present error. @@ -222,7 +193,7 @@ class CRM_Core_Payment_Stripe extends CRM_Core_Payment { $core_err->push($err['code'], 0, NULL, $message); } else { - $core_err->push(9000, 0, NULL, 'Unknown Error'); + $core_err->push(9000, 0, NULL, 'Unknown Error: ' . $message); } return $core_err; }