Ejegg has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/339331 )

Change subject: Throw SmashPig exception on Ingenico API errors
......................................................................

Throw SmashPig exception on Ingenico API errors

Instead of letting the downstream thing look for elements that may
not exist.

Change-Id: I2df2b635e5869763b53d6c32acf1bc97e9a59e78
---
M PaymentProviders/Ingenico/Api.php
1 file changed, 11 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/SmashPig 
refs/changes/31/339331/1

diff --git a/PaymentProviders/Ingenico/Api.php 
b/PaymentProviders/Ingenico/Api.php
index 2ef21d2..24042d4 100644
--- a/PaymentProviders/Ingenico/Api.php
+++ b/PaymentProviders/Ingenico/Api.php
@@ -6,6 +6,7 @@
 use DateTimeZone;
 use SmashPig\Core\Context;
 use SmashPig\Core\Http\OutboundRequest;
+use SmashPig\Core\SmashPigException;
 
 /**
  * Prepares and sends requests to the Ingenico Connect API.
@@ -58,7 +59,16 @@
                $this->authenticator->signRequest( $request );
 
                $response = $request->execute();
-               // TODO error handling
+
+               if ( !empty( $response['errors'] ) ) {
+                       $messages = array();
+                       foreach( $response['errors'] as $error ) {
+                               $messages = "Ingenico error {$error['code']}: 
{$error['message']}.";
+                       }
+                       $concatenated = implode( ' ', $messages );
+                       throw new SmashPigException( $concatenated );
+               }
+
                return $response;
        }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/339331
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2df2b635e5869763b53d6c32acf1bc97e9a59e78
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/SmashPig
Gerrit-Branch: master
Gerrit-Owner: Ejegg <eeggles...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to