From f116e18959ed1a45848f984219aaab51dda41472 Mon Sep 17 00:00:00 2001 From: securesubmit-buildmaster Date: Thu, 27 May 2021 10:08:42 -0400 Subject: [PATCH] OctopusDeploy release: 2.3.3 --- CHANGELOG.md | 19 +++++++++++++ src/Gateways/RestGateway.php | 6 ++-- .../Gateways/RealexConnector/ApiTestCase.php | 28 ++++++++++--------- 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a43aceb..96c534d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,25 @@ #### Enhancements: +- enhance GP-ECOM error handling +- update GP-ECOM unit test for APPLE PAY and GOOGLE PAY + +## v2.2.16 (05/20/2021) + +#### Enhancements: + +Add GP-ECOM dynamic descriptor functionaSlity + +## v2.2.15 (05/18/2021) + +#### Bug Fixes: + +- GP-ECOM fix 3DS recurring data fields: recurring expiry date format and max_number_of_instalments + +## v2.2.14 (05/11/2021) + +#### Enhancements: + - Update GP-API to 2021-03-22 version - 3DS Status Mapping - Missed Mapping and Revise some mappings - Update ACS simulator for 3DS2 to use values from initiate response for the form fields name required in the POST redirect diff --git a/src/Gateways/RestGateway.php b/src/Gateways/RestGateway.php index 23d8d4e5..0149a893 100644 --- a/src/Gateways/RestGateway.php +++ b/src/Gateways/RestGateway.php @@ -66,11 +66,11 @@ protected function doTransaction( } throw $gatewayException; } else { - $errMsgProperty = ['error_description', 'message' , 'eos_reason']; + $errMsgProperty = ['error_description', 'error_detail', 'message' , 'eos_reason']; + $errorMessage = ''; foreach ($errMsgProperty as $propertyName) { if (property_exists($error, $propertyName)) { - $errorMessage = $error->{$propertyName}; - break; + $errorMessage .= $error->{$propertyName} . ' '; } } throw new GatewayException( diff --git a/test/Integration/Gateways/RealexConnector/ApiTestCase.php b/test/Integration/Gateways/RealexConnector/ApiTestCase.php index d486ea6f..45d7c184 100644 --- a/test/Integration/Gateways/RealexConnector/ApiTestCase.php +++ b/test/Integration/Gateways/RealexConnector/ApiTestCase.php @@ -3,6 +3,7 @@ namespace GlobalPayments\Api\Test\Integration\Gateways\RealexConnector; use GlobalPayments\Api\PaymentMethods\CreditCardData; +use GlobalPayments\Api\ServiceConfigs\Gateways\GpEcomConfig; use GlobalPayments\Api\ServicesConfig; use GlobalPayments\Api\ServicesContainer; use GlobalPayments\Api\Entities\Address; @@ -550,13 +551,13 @@ public function testdccAuthDataSubmission() public function testauthMobileGooglePay() { try { - $config = new ServicesConfig(); + $config = new GpEcomConfig(); $config->merchantId = 'heartlandgpsandbox'; $config->accountId = 'apitest'; $config->sharedSecret = 'secret'; $config->serviceUrl = 'https://api.sandbox.realexpayments.com/epage-remote.cgi'; - ServicesContainer::configure($config); + ServicesContainer::configureService($config); // create the card object $card = new CreditCardData(); @@ -591,13 +592,13 @@ public function testauthMobileGooglePay() public function testauthMobileApplePay() { try { - $config = new ServicesConfig(); + $config = new GpEcomConfig(); $config->merchantId = 'heartlandgpsandbox'; $config->accountId = 'apitest'; $config->sharedSecret = 'secret'; $config->serviceUrl = 'https://api.sandbox.realexpayments.com/epage-remote.cgi'; - ServicesContainer::configure($config); + ServicesContainer::configureService($config); // create the card object $card = new CreditCardData(); @@ -605,8 +606,9 @@ public function testauthMobileApplePay() $card->mobileType = EncyptedMobileType::APPLE_PAY; // process an auto-settle authorization - $response = $card->charge() + $response = $card->charge(19.99) ->withModifier(TransactionModifier::ENCRYPTED_MOBILE) + ->withCurrency('EUR') ->execute(); $responseCode = $response->responseCode; // 00 == Success @@ -634,13 +636,13 @@ public function testauthMobileApplePay() */ public function testauthMobileWithoutToken() { - $config = new ServicesConfig(); + $config = new GpEcomConfig(); $config->merchantId = 'heartlandgpsandbox'; $config->accountId = 'apitest'; $config->sharedSecret = 'secret'; $config->serviceUrl = 'https://api.sandbox.realexpayments.com/epage-remote.cgi'; - ServicesContainer::configure($config); + ServicesContainer::configureService($config); // create the card object $card = new CreditCardData(); @@ -660,13 +662,13 @@ public function testauthMobileWithoutToken() */ public function testauthMobileWithoutType() { - $config = new ServicesConfig(); + $config = new GpEcomConfig(); $config->merchantId = 'heartlandgpsandbox'; $config->accountId = 'apitest'; $config->sharedSecret = 'secret'; $config->serviceUrl = 'https://api.sandbox.realexpayments.com/epage-remote.cgi'; - ServicesContainer::configure($config); + ServicesContainer::configureService($config); // create the card object $card = new CreditCardData(); @@ -686,13 +688,13 @@ public function testauthMobileWithoutType() */ public function testauthMobileWithoutAmount() { - $config = new ServicesConfig(); + $config = new GpEcomConfig(); $config->merchantId = 'heartlandgpsandbox'; $config->accountId = 'apitest'; $config->sharedSecret = 'secret'; $config->serviceUrl = 'https://api.sandbox.realexpayments.com/epage-remote.cgi'; - ServicesContainer::configure($config); + ServicesContainer::configureService($config); // create the card object $card = new CreditCardData(); @@ -713,13 +715,13 @@ public function testauthMobileWithoutAmount() */ public function testauthMobileWithoutCurrency() { - $config = new ServicesConfig(); + $config = new GpEcomConfig(); $config->merchantId = 'heartlandgpsandbox'; $config->accountId = 'apitest'; $config->sharedSecret = 'secret'; $config->serviceUrl = 'https://api.sandbox.realexpayments.com/epage-remote.cgi'; - ServicesContainer::configure($config); + ServicesContainer::configureService($config); // create the card object $card = new CreditCardData();