We will be off from 27/1 (Monday) to 31/1 (Friday) (GMT +7) for our Tet Holiday (Lunar New Year) in our country

Commit 94871263 authored by Attila Kiss's avatar Attila Kiss Committed by GitHub

Merge branch 'develop' into PW-2383

parents 5aa57ee7 88e7d0e4
...@@ -107,7 +107,14 @@ class Result extends \Magento\Framework\App\Action\Action ...@@ -107,7 +107,14 @@ class Result extends \Magento\Framework\App\Action\Action
$session->getQuote()->setIsActive(false)->save(); $session->getQuote()->setIsActive(false)->save();
$this->_redirect('checkout/onepage/success', ['_query' => ['utm_nooverride' => '1']]); $this->_redirect('checkout/onepage/success', ['_query' => ['utm_nooverride' => '1']]);
} else { } else {
$this->_cancel($response); $this->_adyenLogger->addAdyenResult(
sprintf(
'Payment for order %s was unsuccessful, ' .
'it will be cancelled when the OFFER_CLOSED notification has been processed.',
$this->_order->getIncrementId()
)
);
$this->restoreCart($response);
$failReturnPath = $this->_adyenHelper->getAdyenAbstractConfigData('return_path'); $failReturnPath = $this->_adyenHelper->getAdyenAbstractConfigData('return_path');
$this->_redirect($failReturnPath); $this->_redirect($failReturnPath);
} }
...@@ -121,17 +128,13 @@ class Result extends \Magento\Framework\App\Action\Action ...@@ -121,17 +128,13 @@ class Result extends \Magento\Framework\App\Action\Action
/** /**
* @param $response * @param $response
*/ */
protected function _cancel($response) protected function restoreCart($response)
{ {
$session = $this->_session; $session = $this->_session;
// restore the quote // restore the quote
$session->restoreQuote(); $session->restoreQuote();
$order = $this->_order;
$this->_adyenHelper->cancelOrder($order);
if (isset($response['authResult']) && $response['authResult'] == \Adyen\Payment\Model\Notification::CANCELLED) { if (isset($response['authResult']) && $response['authResult'] == \Adyen\Payment\Model\Notification::CANCELLED) {
$this->messageManager->addError(__('You have cancelled the order. Please try again')); $this->messageManager->addError(__('You have cancelled the order. Please try again'));
} else { } else {
...@@ -270,17 +273,13 @@ class Result extends \Magento\Framework\App\Action\Action ...@@ -270,17 +273,13 @@ class Result extends \Magento\Framework\App\Action\Action
$this->_adyenLogger->addAdyenResult('Do nothing wait for the notification'); $this->_adyenLogger->addAdyenResult('Do nothing wait for the notification');
break; break;
case Notification::CANCELLED: case Notification::CANCELLED:
$this->_adyenLogger->addAdyenResult('Cancel or Hold the order'); case Notification::ERROR:
$this->_adyenLogger->addAdyenResult('Cancel or Hold the order on OFFER_CLOSED notification');
$result = false; $result = false;
break; break;
case Notification::REFUSED: case Notification::REFUSED:
// if refused there will be a AUTHORIZATION : FALSE notification send only exception is idea // if refused there will be a AUTHORIZATION : FALSE notification send only exception is idea
$this->_adyenLogger->addAdyenResult('Cancel or Hold the order'); $this->_adyenLogger->addAdyenResult('Cancel or Hold the order on AUTHORISATION success = false notification');
$result = false;
break;
case Notification::ERROR:
//attempt to hold/cancel
$this->_adyenLogger->addAdyenResult('Cancel or Hold the order');
$result = false; $result = false;
break; break;
default: default:
......
...@@ -64,14 +64,8 @@ class TransactionAuthorization implements ClientInterface ...@@ -64,14 +64,8 @@ class TransactionAuthorization implements ClientInterface
public function placeRequest(\Magento\Payment\Gateway\Http\TransferInterface $transferObject) public function placeRequest(\Magento\Payment\Gateway\Http\TransferInterface $transferObject)
{ {
$request = $transferObject->getBody(); $request = $transferObject->getBody();
$headers = $transferObject->getHeaders();
$requestOptions = []; $requestOptions = [];
if (!empty($headers['idempotencyKey'])) {
$requestOptions['idempotencyKey'] = $headers['idempotencyKey'];
}
// call lib // call lib
$service = new \Adyen\Service\Payment($this->client); $service = new \Adyen\Service\Payment($this->client);
......
...@@ -63,7 +63,6 @@ class TransactionPayment implements ClientInterface ...@@ -63,7 +63,6 @@ class TransactionPayment implements ClientInterface
public function placeRequest(\Magento\Payment\Gateway\Http\TransferInterface $transferObject) public function placeRequest(\Magento\Payment\Gateway\Http\TransferInterface $transferObject)
{ {
$request = $transferObject->getBody(); $request = $transferObject->getBody();
$headers = $transferObject->getHeaders();
// If the payments call is already done return the request // If the payments call is already done return the request
if (!empty($request['resultCode'])) { if (!empty($request['resultCode'])) {
...@@ -77,10 +76,6 @@ class TransactionPayment implements ClientInterface ...@@ -77,10 +76,6 @@ class TransactionPayment implements ClientInterface
$requestOptions = []; $requestOptions = [];
if (!empty($headers['idempotencyKey'])) {
$requestOptions['idempotencyKey'] = $headers['idempotencyKey'];
}
$request = $this->applicationInfo->addMerchantApplicationIntoRequest($request); $request = $this->applicationInfo->addMerchantApplicationIntoRequest($request);
try { try {
......
...@@ -63,9 +63,7 @@ class PaymentDataBuilder implements BuilderInterface ...@@ -63,9 +63,7 @@ class PaymentDataBuilder implements BuilderInterface
$paymentMethod = $payment->getMethod(); $paymentMethod = $payment->getMethod();
$request['body'] = $this->adyenRequestsHelper->buildPaymentData([], $amount, $currencyCode, $reference, $paymentMethod); $request['body'] = $this->adyenRequestsHelper->buildPaymentData([], $amount, $currencyCode, $reference, $paymentMethod);
$request['headers'] = $this->adyenRequestsHelper->addIdempotencyKey([], $paymentMethod, $reference);
return $request; return $request;
} }
} }
...@@ -492,21 +492,4 @@ class Requests extends AbstractHelper ...@@ -492,21 +492,4 @@ class Requests extends AbstractHelper
return $address; return $address;
} }
/**
* Only adds idempotency key if payment method is adyen_hpp for now
*
* @param array $request
* @param $paymentMethod
* @param $idempotencyKey
* @return array
*/
public function addIdempotencyKey($request = [], $paymentMethod, $idempotencyKey)
{
if (!empty($paymentMethod) && $paymentMethod == 'adyen_hpp') {
$request['idempotencyKey'] = $idempotencyKey;
}
return $request;
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment