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 4b406cef authored by Rik ter Beek's avatar Rik ter Beek Committed by GitHub

Merge pull request #361 from Adyen/develop

Release 2.4.2
parents e82908bd eb2dd086
......@@ -80,7 +80,6 @@ class CronMessage implements \Magento\Framework\Notification\MessageInterface
} else {
return false;
}
}
/**
......@@ -93,8 +92,11 @@ class CronMessage implements \Magento\Framework\Notification\MessageInterface
$message = __('You have ' . $this->_cronCheck . ' unprocessed notification(s). Please check your Cron');
$urlMagento = "http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cron.html";
$urlAdyen = "https://docs.adyen.com/developers/plug-ins-and-partners/magento/magento-2/configuring-the-adyen-plug-in";
$message .= __(' and visit <a href="%1">Magento DevDocs</a> and <a href="%2">Adyen Docs</a> on how to configure Cron.',
$urlMagento, $urlAdyen);
$message .= __(
' and visit <a href="%1">Magento DevDocs</a> and <a href="%2">Adyen Docs</a> on how to configure Cron.',
$urlMagento,
$urlAdyen
);
$message .= __('<i> Last cron check was: %1</i> ', $this->_dateChecked->format('d/m/Y H:i:s'));
return __($message);
}
......@@ -125,4 +127,3 @@ class CronMessage implements \Magento\Framework\Notification\MessageInterface
return $this->_authSession->getData($key, $remove);
}
}
......@@ -64,18 +64,17 @@ class VersionMessage implements \Magento\Framework\Notification\MessageInterface
{
// Only execute the query the first time you access the Admin page
if ($this->_authSession->isFirstPageAfterLogin()) {
try {
$githubContent = $this->getDecodedContentFromGithub();
$this->setSessionData("AdyenGithubVersion", $githubContent);
$title = "Adyen extension version " . $githubContent['tag_name'] . " available!";
$versionData[] = array(
$versionData[] = [
'severity' => self::SEVERITY_NOTICE,
'date_added' => $githubContent['published_at'],
'title' => $title,
'description' => $githubContent['body'],
'url' => $githubContent['html_url'],
);
];
/*
* The parse function checks if the $versionData message exists in the inbox,
......@@ -95,7 +94,6 @@ class VersionMessage implements \Magento\Framework\Notification\MessageInterface
}
}
return false;
}
/**
......@@ -150,6 +148,4 @@ class VersionMessage implements \Magento\Framework\Notification\MessageInterface
{
return $this->_authSession->getData($key, $remove);
}
}
......@@ -40,5 +40,4 @@ interface AdyenPaymentMethodManagementInterface
* @return \Magento\Checkout\Api\Data\PaymentDetailsInterface
*/
public function getPaymentMethods($cartId, \Magento\Quote\Api\Data\AddressInterface $shippingAddress = null);
}
......@@ -24,7 +24,6 @@
namespace Adyen\Payment\Api;
interface AdyenRequestMerchantSessionInterface
{
......@@ -32,5 +31,4 @@ interface AdyenRequestMerchantSessionInterface
* @return mixed
*/
public function getMerchantSession();
}
......@@ -121,5 +121,4 @@ interface InvoiceInterface
* @return $this
*/
public function setInvoiceId($invoiceId);
}
......@@ -201,5 +201,4 @@ interface OrderPaymentInterface
* @return $this
*/
public function setUpdatedAt($timestamp);
}
......@@ -40,5 +40,4 @@ interface GuestAdyenPaymentMethodManagementInterface
* @return \Magento\Checkout\Api\Data\PaymentDetailsInterface
*/
public function getPaymentMethods($cartId, \Magento\Quote\Api\Data\AddressInterface $shippingAddress = null);
}
......@@ -114,7 +114,6 @@ class Installments extends \Magento\Config\Block\System\Config\Form\Field\FieldA
$options = [];
if ($installlments) {
$options['option_' . $this->getNumberOfInstallmentsRenderer()->calcOptionHash($installlments)]
= 'selected="selected"';
......
......@@ -42,8 +42,7 @@ class ApplePay extends \Magento\Payment\Block\Form
\Magento\Framework\View\Element\Template\Context $context,
\Adyen\Payment\Helper\Data $adyenHelper,
array $data = []
)
{
) {
parent::__construct($context, $data);
$this->_adyenHelper = $adyenHelper;
}
......@@ -60,5 +59,4 @@ class ApplePay extends \Magento\Payment\Block\Form
}
return $types;
}
}
......@@ -64,5 +64,4 @@ class Boleto extends \Magento\Payment\Block\Form
}
return $types;
}
}
......@@ -67,8 +67,7 @@ class Cc extends \Magento\Payment\Block\Form\Cc
\Adyen\Payment\Helper\Data $adyenHelper,
\Magento\Checkout\Model\Session $checkoutSession,
array $data = []
)
{
) {
parent::__construct($context, $paymentConfig);
$this->_adyenHelper = $adyenHelper;
$this->_appState = $context->getAppState();
......
......@@ -72,6 +72,4 @@ class Oneclick extends \Adyen\Payment\Block\Form\Cc
return $cards;
}
}
......@@ -30,6 +30,4 @@ class PayByMail extends \Magento\Payment\Block\Form
* @var string
*/
protected $_template = 'Adyen_Payment::form/pay_by_mail.phtml';
}
......@@ -30,5 +30,4 @@ class PosCloud extends \Magento\Payment\Block\Form
* @var string
*/
protected $_template = 'Adyen_Payment::form/pos_cloud.phtml';
}
......@@ -51,8 +51,7 @@ class AbstractInfo extends \Magento\Payment\Block\Info
\Adyen\Payment\Model\ResourceModel\Order\Payment\CollectionFactory $adyenOrderPaymentCollectionFactory,
Template\Context $context,
array $data = []
)
{
) {
parent::__construct($context, $data);
$this->_adyenHelper = $adyenHelper;
$this->_adyenOrderPaymentCollectionFactory = $adyenOrderPaymentCollectionFactory;
......
......@@ -29,5 +29,4 @@ class Boleto extends AbstractInfo
* @var string
*/
protected $_template = 'Adyen_Payment::info/adyen_boleto.phtml';
}
......@@ -29,5 +29,4 @@ class PayByMail extends AbstractInfo
* @var string
*/
protected $_template = 'Adyen_Payment::info/adyen_pay_by_mail.phtml';
}
......@@ -29,5 +29,4 @@ class Pos extends AbstractInfo
* @var string
*/
protected $_template = 'Adyen_Payment::info/adyen_pos.phtml';
}
......@@ -30,5 +30,4 @@ class PosCloud extends AbstractInfo
* @var string
*/
protected $_template = 'Adyen_Payment::info/adyen_pos_cloud.phtml';
}
......@@ -29,5 +29,4 @@ class Sepa extends AbstractInfo
* @var string
*/
protected $_template = 'Adyen_Payment::info/adyen_sepa.phtml';
}
......@@ -105,18 +105,19 @@ class Pos extends \Magento\Payment\Block\Form
{
$launchlink = "";
try {
if ($this->_order->getPayment())
{
if ($this->_order->getPayment()) {
$realOrderId = $this->_order->getRealOrderId();
$orderCurrencyCode = $this->_order->getOrderCurrencyCode();
$amount = $this->_adyenHelper->formatAmount(
$this->_order->getGrandTotal(), $orderCurrencyCode
$this->_order->getGrandTotal(),
$orderCurrencyCode
);
$shopperEmail = $this->_order->getCustomerEmail();
$customerId = $this->_order->getCustomerId();
$callbackUrl = $this->_urlBuilder->getUrl('adyen/process/resultpos',
['_secure' => $this->_getRequest()->isSecure()]);
$callbackUrl = $this->_urlBuilder->getUrl(
'adyen/process/resultpos',
['_secure' => $this->_getRequest()->isSecure()]
);
$addReceiptOrderLines = $this->_adyenHelper->getAdyenPosConfigData("add_receipt_order_lines");
$recurringContract = $this->_adyenHelper->getAdyenPosConfigData('recurring_type');
$currencyCode = $orderCurrencyCode;
......@@ -153,7 +154,7 @@ class Pos extends \Magento\Payment\Block\Form
$this->_adyenLogger->addAdyenDebug(print_r($launchlink, true));
}
} catch(Exception $e) {
} catch (Exception $e) {
// do nothing for now
throw($e);
}
......@@ -232,7 +233,6 @@ class Pos extends \Magento\Payment\Block\Form
);
$myReceiptOrderLines .= " " . 1 . " " . $order->getShippingDescription() . "| " .
$currency . " " . $shippingAmountFormat ."|\n";
}
if ($order->getPaymentFeeAmount() > 0) {
......@@ -243,7 +243,6 @@ class Pos extends \Magento\Payment\Block\Form
);
$myReceiptOrderLines .= " " . 1 . " " . $this->__('Payment Fee') . "| " .
$currency . " " . $paymentFeeAmount ."|\n";
}
$myReceiptOrderLines .= "|--------|\n".
......
......@@ -84,8 +84,7 @@ class Redirect extends \Magento\Payment\Block\Form
\Adyen\Payment\Logger\AdyenLogger $adyenLogger,
\Magento\Tax\Model\Config $taxConfig,
\Magento\Tax\Model\Calculation $taxCalculation
)
{
) {
$this->_orderFactory = $orderFactory;
$this->_checkoutSession = $checkoutSession;
parent::__construct($context, $data);
......@@ -126,7 +125,6 @@ class Redirect extends \Magento\Payment\Block\Form
if ($paymentRoutine == 'single' && $this->getPaymentMethodSelectionOnAdyen()) {
$url = 'https://test.adyen.com/hpp/pay.shtml';
} else {
if ($this->getPaymentMethodSelectionOnAdyen()) {
$url = 'https://test.adyen.com/hpp/select.shtml';
} else {
......@@ -189,12 +187,12 @@ class Redirect extends \Magento\Payment\Block\Form
$formFields = [];
try {
if ($this->_order->getPayment()) {
$realOrderId = $this->_order->getRealOrderId();
$orderCurrencyCode = $this->_order->getOrderCurrencyCode();
$skinCode = trim($this->_adyenHelper->getAdyenHppConfigData('skin_code'));
$amount = $this->_adyenHelper->formatAmount(
$this->_order->getGrandTotal(), $orderCurrencyCode
$this->_order->getGrandTotal(),
$orderCurrencyCode
);
$merchantAccount = trim($this->_adyenHelper->getAdyenAbstractConfigData('merchant_account'));
$shopperEmail = $this->_order->getCustomerEmail();
......@@ -238,8 +236,8 @@ class Redirect extends \Magento\Payment\Block\Form
$formFields['shopperEmail'] = $shopperEmail;
// recurring
$recurringType = trim($this->_adyenHelper->getAdyenAbstractConfigData(
'recurring_type')
);
'recurring_type'
));
$brandCode = $this->_order->getPayment()->getAdditionalInformation(
\Adyen\Payment\Observer\AdyenHppDataAssignObserver::BRAND_CODE
);
......@@ -316,7 +314,6 @@ class Redirect extends \Magento\Payment\Block\Form
$this->_adyenLogger->addAdyenDebug(print_r($formFields, true));
}
} catch (Exception $e) {
// do nothing for now
}
......@@ -389,7 +386,6 @@ class Redirect extends \Magento\Payment\Block\Form
$shippingAddress = $this->_order->getShippingAddress();
if ($shippingAddress) {
$street = $this->_adyenHelper->getStreet($shippingAddress);
if (isset($street['name']) && $street['name'] != "") {
......@@ -439,7 +435,6 @@ class Redirect extends \Magento\Payment\Block\Form
$currency = $this->_order->getOrderCurrencyCode();
foreach ($this->_order->getAllVisibleItems() as $item) {
++$count;
$numberOfItems = (int)$item->getQtyOrdered();
......@@ -467,13 +462,21 @@ class Redirect extends \Magento\Payment\Block\Form
$itemVatPercentage = "0";
$numberOfItems = 1;
$formFields = $this->_adyenHelper->getOpenInvoiceLineData($formFields, $count, $currency, $description, $itemAmount,
$itemVatAmount, $itemVatPercentage, $numberOfItems, $this->_order->getPayment());
$formFields = $this->_adyenHelper->getOpenInvoiceLineData(
$formFields,
$count,
$currency,
$description,
$itemAmount,
$itemVatAmount,
$itemVatPercentage,
$numberOfItems,
$this->_order->getPayment()
);
}
// Shipping cost
if ($this->_order->getShippingAmount() > 0 || $this->_order->getShippingTaxAmount() > 0) {
++$count;
$formFields = $this->_adyenHelper->createOpenInvoiceLineShipping(
$formFields,
......
......@@ -120,8 +120,10 @@ class Validate3d extends \Magento\Payment\Block\Form
*/
public function getTermUrl()
{
return $this->getUrl('adyen/process/validate3d',
['_secure' => $this->_getRequest()->isSecure()]);
return $this->getUrl(
'adyen/process/validate3d',
['_secure' => $this->_getRequest()->isSecure()]
);
}
/**
......@@ -133,5 +135,4 @@ class Validate3d extends \Magento\Payment\Block\Form
{
return $this->_request;
}
}
......@@ -24,6 +24,7 @@
namespace Adyen\Payment\Controller\Process;
use Symfony\Component\Config\Definition\Exception\Exception;
use Magento\Framework\App\Request\Http as HttpRequest;
/**
* Class Json
......@@ -62,13 +63,20 @@ class Json extends \Magento\Framework\App\Action\Action
\Magento\Framework\App\Action\Context $context,
\Adyen\Payment\Helper\Data $adyenHelper,
\Adyen\Payment\Logger\AdyenLogger $adyenLogger
)
{
) {
parent::__construct($context);
$this->_objectManager = $context->getObjectManager();
$this->_resultFactory = $context->getResultFactory();
$this->_adyenHelper = $adyenHelper;
$this->_adyenLogger = $adyenLogger;
// Fix for Magento2.3 adding isAjax to the request params
if(interface_exists("\Magento\Framework\App\CsrfAwareActionInterface")) {
$request = $this->getRequest();
if ($request instanceof HttpRequest && $request->isPost()) {
$request->setParam('isAjax', true);
}
}
}
/**
......@@ -80,7 +88,6 @@ class Json extends \Magento\Framework\App\Action\Action
// if version is in the notification string show the module version
$response = $this->getRequest()->getParams();
if (isset($response['version'])) {
$this->getResponse()
->clearHeader('Content-Type')
->setHeader('Content-Type', 'text/html')
......@@ -101,10 +108,9 @@ class Json extends \Magento\Framework\App\Action\Action
if ($notificationMode !== "" && $this->_validateNotificationMode($notificationMode)) {
foreach ($notificationItems['notificationItems'] as $notificationItem) {
$status = $this->_processNotification(
$notificationItem['NotificationRequestItem'], $notificationMode
$notificationItem['NotificationRequestItem'],
$notificationMode
);
if ($status != true) {
......@@ -113,7 +119,6 @@ class Json extends \Magento\Framework\App\Action\Action
}
$acceptedMessage = "[accepted]";
}
$cronCheckTest = $notificationItems['notificationItems'][0]['NotificationRequestItem']['pspReference'];
......@@ -173,7 +178,6 @@ class Json extends \Magento\Framework\App\Action\Action
{
// validate the notification
if ($this->authorised($response)) {
// check if notification already exists
if (!$this->_isDuplicate($response)) {
try {
......
......@@ -163,7 +163,6 @@ class Result extends \Magento\Framework\App\Action\Action
if ($incrementId) {
$order = $this->_getOrder($incrementId);
if ($order->getId()) {
$this->_eventManager->dispatch('adyen_payment_process_resulturl_before', [
'order' => $order,
'adyen_response' => $response
......@@ -179,7 +178,6 @@ class Result extends \Magento\Framework\App\Action\Action
'order' => $order,
'adyen_response' => $response
]);
} else {
throw new \Magento\Framework\Exception\LocalizedException(
__('Order does not exists with increment_id: %1', $incrementId)
......@@ -209,8 +207,12 @@ class Result extends \Magento\Framework\App\Action\Action
$pspReference = isset($response['pspReference']) ? trim($response['pspReference']) : '';
$type = 'Adyen Result URL response:';
$comment = __('%1 <br /> authResult: %2 <br /> pspReference: %3 <br /> paymentMethod: %4',
$type, $authResult, $pspReference, $paymentMethod
$comment = __(
'%1 <br /> authResult: %2 <br /> pspReference: %3 <br /> paymentMethod: %4',
$type,
$authResult,
$pspReference,
$paymentMethod
);
......@@ -225,13 +227,11 @@ class Result extends \Magento\Framework\App\Action\Action
case Notification::PENDING:
// do nothing wait for the notification
$result = true;
if (strpos($paymentMethod,"bankTransfer") !== false){
if (strpos($paymentMethod, "bankTransfer") !== false) {
$comment .= "<br /><br />Waiting for the customer to transfer the money.";
}
elseif($paymentMethod == "sepadirectdebit"){
} elseif ($paymentMethod == "sepadirectdebit") {
$comment .= "<br /><br />This request will be send to the bank at the end of the day.";
}
else {
} else {
$comment .= "<br /><br />The payment result is not confirmed (yet).
<br />Once the payment is authorised, the order status will be updated accordingly.
<br />If the order is stuck on this status, the payment can be seen as unsuccessful.
......@@ -263,8 +263,7 @@ class Result extends \Magento\Framework\App\Action\Action
//->setStatus($status)
->setComment($comment)
->setEntityName('order')
->setOrder($order)
;
->setOrder($order);
$history->save();
......@@ -277,7 +276,8 @@ class Result extends \Magento\Framework\App\Action\Action
* @param $response
* @return bool
*/
protected function _authenticate($response) {
protected function _authenticate($response)
{
$merchantSigNotification = $response['merchantSig'];
......@@ -314,7 +314,7 @@ class Result extends \Magento\Framework\App\Action\Action
*/
protected function escapeString($val)
{
return str_replace(':','\\:',str_replace('\\','\\\\',$val));
return str_replace(':', '\\:', str_replace('\\', '\\\\', $val));
}
/**
......
......@@ -111,27 +111,27 @@ class ResultPos extends \Magento\Framework\App\Action\Action
$result = false;
if ($response != null && $response['result'] != "" && $this->_validateChecksum($response)) {
$incrementId = $response['merchantReference'];
$responseResult = $response['result'];
if ($incrementId) {
$order = $this->_getOrder($incrementId);
if ($order->getId()) {
$comment = __('%1 <br /> Result: %2 <br /> paymentMethod: %3',
'Adyen App Result URL Notification:', $responseResult, 'POS');
$comment = __(
'%1 <br /> Result: %2 <br /> paymentMethod: %3',
'Adyen App Result URL Notification:',
$responseResult,
'POS'
);
if ($responseResult == 'APPROVED') {
$this->_adyenLogger->addAdyenResult('Result is approved');
$history = $this->_orderHistoryFactory->create()
//->setStatus($status)
->setComment($comment)
->setEntityName('order')
->setOrder($order)
;
->setOrder($order);
$history->save();
// needed becuase then we need to save $order objects
......@@ -148,8 +148,7 @@ class ResultPos extends \Magento\Framework\App\Action\Action
//->setStatus($status)
->setComment($comment)
->setEntityName('order')
->setOrder($order)
;
->setOrder($order);
$history->save();
// cancel the order
......
......@@ -94,19 +94,16 @@ class Validate3d extends \Magento\Framework\App\Action\Action
// check if 3D secure is active. If not just go to success page
if ($active && $success != true) {
$this->_adyenLogger->addAdyenResult("3D secure is active");
// check if it is already processed
if ($this->getRequest()->isPost()) {
$this->_adyenLogger->addAdyenResult("Process 3D secure payment");
$requestMD = $this->getRequest()->getPost('MD');
$requestPaRes = $this->getRequest()->getPost('PaRes');
$md = $order->getPayment()->getAdditionalInformation('md');
if ($requestMD == $md) {
$order->getPayment()->setAdditionalInformation('paResponse', $requestPaRes);
try {
......@@ -159,7 +156,8 @@ class Validate3d extends \Magento\Framework\App\Action\Action
__('Customer was redirected to bank for 3D-secure validation. Once the shopper authenticated, the order status will be updated accordingly.
<br />Make sure that your notifications are being processed!
<br />If the order is stuck on this status, the shopper abandoned the session. The payment can be seen as unsuccessful.
<br />The order can be automatically cancelled based on the OFFER_CLOSED notification. Please contact Adyen Support to enable this.'))->save();
<br />The order can be automatically cancelled based on the OFFER_CLOSED notification. Please contact Adyen Support to enable this.')
)->save();
$this->_view->loadLayout();
$this->_view->getLayout()->initMessages();
$this->_view->renderLayout();
......@@ -180,7 +178,7 @@ class Validate3d extends \Magento\Framework\App\Action\Action
{
try {
$response = $this->_paymentRequest->authorise3d($payment);
} catch(\Exception $e) {
} catch (\Exception $e) {
throw $e;
}
$responseCode = $response['resultCode'];
......
......@@ -61,8 +61,8 @@ class HppCommand implements CommandInterface
// update customer based on additionalFields
if ($payment->getAdditionalInformation("gender")) {
$order->setCustomerGender(\Adyen\Payment\Model\Gender::getMagentoGenderFromAdyenGender(
$payment->getAdditionalInformation("gender"))
);
$payment->getAdditionalInformation("gender")
));
}
if ($payment->getAdditionalInformation("dob")) {
......
......@@ -26,7 +26,6 @@ namespace Adyen\Payment\Gateway\Command;
use Magento\Payment\Gateway\Command;
use Magento\Payment\Gateway\CommandInterface;
class PayByMailCommand implements CommandInterface
{
......
......@@ -77,7 +77,7 @@ class TransactionAuthorization implements ClientInterface
try {
$response = $service->authorise($request);
} catch(\Adyen\AdyenException $e) {
} catch (\Adyen\AdyenException $e) {
$response['error'] = $e->getMessage();
}
return $response;
......
......@@ -71,7 +71,7 @@ class TransactionCancel implements ClientInterface
try {
$response = $service->cancel($request);
} catch(\Adyen\AdyenException $e) {
} catch (\Adyen\AdyenException $e) {
$response = null;
}
......
......@@ -71,7 +71,7 @@ class TransactionCapture implements ClientInterface
try {
$response = $service->capture($request);
} catch(\Adyen\AdyenException $e) {
} catch (\Adyen\AdyenException $e) {
$this->_adyenLogger->error($e); // add this for now not in the lib yet
$response = null;
}
......
......@@ -72,7 +72,6 @@ class TransactionPosCloudSync implements ClientInterface
}
$this->client = $client;
}
/**
......
......@@ -68,13 +68,12 @@ class TransactionRefund implements ClientInterface
$responses = [];
foreach ($requests as $request) {
// call lib
$service = new \Adyen\Service\Modification($this->_client);
try {
$responses[] = $service->refund($request);
} catch(\Adyen\AdyenException $e) {
} catch (\Adyen\AdyenException $e) {
$responses[] = null;
}
}
......
......@@ -61,7 +61,6 @@ class AddressDataBuilder implements BuilderInterface
$billingAddress = $order->getBillingAddress();
if ($billingAddress) {
$requestBilling = ["street" => "N/A",
"postalCode" => '',
"city" => "N/A",
......@@ -95,7 +94,6 @@ class AddressDataBuilder implements BuilderInterface
$shippingAddress = $order->getShippingAddress();
if ($shippingAddress) {
// filter housenumber from streetLine1
$requestDelivery = ["street" => $shippingAddress->getStreetLine1(),
"postalCode" => $shippingAddress->getPostcode(),
......
......@@ -48,8 +48,7 @@ class ApplePayAuthorizationDataBuilder implements BuilderInterface
public function __construct(
\Adyen\Payment\Helper\Data $adyenHelper,
\Adyen\Payment\Logger\AdyenLogger $adyenLogger
)
{
) {
$this->_adyenHelper = $adyenHelper;
$this->_adyenLogger = $adyenLogger;
}
......@@ -77,5 +76,4 @@ class ApplePayAuthorizationDataBuilder implements BuilderInterface
return $request;
}
}
......@@ -81,12 +81,14 @@ class BoletoAuthorizationDataBuilder implements BuilderInterface
$deliveryDays = (!empty($deliveryDays)) ? $deliveryDays : 5;
$deliveryDate = date(
"Y-m-d\TH:i:s ",
mktime(date("H"),
mktime(
date("H"),
date("i"),
date("s"),
date("m"),
date("j") + $deliveryDays,
date("Y"))
date("Y")
)
);
$request['deliveryDate'] = $deliveryDate;
......
......@@ -47,8 +47,7 @@ class CcAuthorizationDataBuilder implements BuilderInterface
public function __construct(
\Adyen\Payment\Helper\Data $adyenHelper,
\Magento\Framework\Model\Context $context
)
{
) {
$this->adyenHelper = $adyenHelper;
$this->appState = $context->getAppState();
}
......
......@@ -84,7 +84,7 @@ class RecurringDataBuilder implements BuilderInterface
} else {
$recurringContractType = \Adyen\Payment\Model\RecurringType::RECURRING;
}
} else if ($paymentMethodCode == \Adyen\Payment\Model\Ui\AdyenCcConfigProvider::CODE) {
} elseif ($paymentMethodCode == \Adyen\Payment\Model\Ui\AdyenCcConfigProvider::CODE) {
if ($payment->getAdditionalInformation("store_cc") == "" &&
($recurringType == "ONECLICK,RECURRING" || $recurringType == "RECURRING")) {
$recurringContractType = \Adyen\Payment\Model\RecurringType::RECURRING;
......
......@@ -88,7 +88,6 @@ class RefundDataBuilder implements BuilderInterface
// partial refund if multiple payments check refund strategy
if ($orderPaymentCollection->getSize() > 1) {
$refundStrategy = $this->adyenHelper->getAdyenAbstractConfigData(
'split_payments_refund_strategy',
$order->getStoreId()
......@@ -173,7 +172,6 @@ class RefundDataBuilder implements BuilderInterface
//There is only one payment, so we add the fields to the first(and only) result
$result[0]["additionalData"] = $openInvoiceFields;
}
}
return $result;
......@@ -207,7 +205,6 @@ class RefundDataBuilder implements BuilderInterface
$numberOfItems,
$payment
);
}
// Shipping cost
......@@ -233,7 +230,7 @@ class RefundDataBuilder implements BuilderInterface
$invoice = $invoices->getFirstItem();
if($invoice) {
if ($invoice) {
$formFields['acquirerReference'] = $invoice->getAcquirerReference();
}
......
......@@ -54,6 +54,5 @@ class PaymentAuthorisationDetailsHandler implements HandlerInterface
// do not close transaction so you can do a cancel() and void
$payment->setIsTransactionClosed(false);
$payment->setShouldCloseParentTransaction(false);
}
}
......@@ -43,7 +43,6 @@ class PaymentCommentHistoryHandler implements HandlerInterface
if (isset($response['resultCode'])) {
$responseCode = $response['resultCode'];
} else {
// try to get response from response key (used for modifications
if (isset($response['response'])) {
$responseCode = $response['response'];
......@@ -59,8 +58,12 @@ class PaymentCommentHistoryHandler implements HandlerInterface
}
$type = 'Adyen Result response:';
$comment = __('%1 <br /> authResult: %2 <br /> pspReference: %3 ',
$type, $responseCode, $pspReference);
$comment = __(
'%1 <br /> authResult: %2 <br /> pspReference: %3 ',
$type,
$responseCode,
$pspReference
);
if ($responseCode) {
$payment->getOrder()->setAdyenResulturlEventCode($responseCode);
......@@ -71,4 +74,3 @@ class PaymentCommentHistoryHandler implements HandlerInterface
return $this;
}
}
......@@ -44,7 +44,6 @@ class PaymentCommentHistoryRefundHandler implements HandlerInterface
if (isset($singleResponse['resultCode'])) {
$responseCode = $singleResponse['resultCode'];
} else {
// try to get response from response key (used for modifications
if (isset($singleResponse['response'])) {
$responseCode = $singleResponse['response'];
......@@ -60,8 +59,12 @@ class PaymentCommentHistoryRefundHandler implements HandlerInterface
}
$type = 'Adyen Result response:';
$comment = __('%1 <br /> authResult: %2 <br /> pspReference: %3 ',
$type, $responseCode, $pspReference);
$comment = __(
'%1 <br /> authResult: %2 <br /> pspReference: %3 ',
$type,
$responseCode,
$pspReference
);
if ($responseCode) {
$payment->getOrder()->setAdyenResulturlEventCode($responseCode);
......@@ -73,4 +76,3 @@ class PaymentCommentHistoryRefundHandler implements HandlerInterface
return $this;
}
}
......@@ -24,7 +24,6 @@
namespace Adyen\Payment\Gateway\Response;
use Magento\Payment\Gateway\Response\HandlerInterface;
use Magento\Setup\Exception;
......
......@@ -70,7 +70,6 @@ class GeneralResponseValidator extends AbstractValidator
$payment->setAdditionalInformation('pspReference', $response['pspReference']);
// set additionalData
if (isset($response['additionalData']) && is_array($response['additionalData'])) {
$additionalData = $response['additionalData'];
if (isset($additionalData['boletobancario.dueDate'])) {
$payment->setAdditionalInformation(
......@@ -109,7 +108,7 @@ class GeneralResponseValidator extends AbstractValidator
} else {
$isValid = false;
$errorMsg = __('3D secure is not valid.');
$this->adyenLogger->error($errorMsg);;
$this->adyenLogger->error($errorMsg);
$errorMessages[] = $errorMsg;
}
break;
......
......@@ -25,7 +25,6 @@
namespace Adyen\Payment\Gateway\Validator;
use Magento\Payment\Gateway\Validator\AbstractValidator;
class InstallmentValidator extends AbstractValidator
......
......@@ -24,10 +24,8 @@
namespace Adyen\Payment\Gateway\Validator;
use Magento\Payment\Gateway\Validator\AbstractValidator;
class PosCloudResponseValidator extends AbstractValidator
{
/**
......
......@@ -74,12 +74,11 @@ class SepaValidator extends AbstractValidator
if (isset($countries[substr($iban, 0, 2)]) &&
strlen($iban) == $countries[substr($iban, 0, 2)]) {
$movedChar = substr($iban, 4).substr($iban, 0, 4);
$movedCharArray = str_split($movedChar);
$newString = "";
foreach ($movedCharArray AS $key => $value) {
foreach ($movedCharArray as $key => $value) {
if (!is_numeric($movedCharArray[$key])) {
$movedCharArray[$key] = $chars[$movedCharArray[$key]];
}
......
......@@ -122,7 +122,6 @@ class Data extends AbstractHelper
\Magento\Tax\Model\Calculation $taxCalculation,
\Magento\Framework\App\ProductMetadataInterface $productMetadata,
\Adyen\Payment\Logger\AdyenLogger $adyenLogger
) {
parent::__construct($context);
$this->_encryptor = $encryptor;
......@@ -319,7 +318,7 @@ class Data extends AbstractHelper
* @param type $street
* @return type $street
*/
static public function formatStreet($street)
public static function formatStreet($street)
{
if (count($street) != 1) {
return $street;
......@@ -617,11 +616,15 @@ class Data extends AbstractHelper
public function getWsPassword($storeId = null)
{
if ($this->isDemoMode($storeId)) {
$wsPassword = $this->_encryptor->decrypt(trim($this->getAdyenAbstractConfigData('ws_password_test',
$storeId)));
$wsPassword = $this->_encryptor->decrypt(trim($this->getAdyenAbstractConfigData(
'ws_password_test',
$storeId
)));
} else {
$wsPassword = $this->_encryptor->decrypt(trim($this->getAdyenAbstractConfigData('ws_password_live',
$storeId)));
$wsPassword = $this->_encryptor->decrypt(trim($this->getAdyenAbstractConfigData(
'ws_password_live',
$storeId
)));
}
return $wsPassword;
}
......@@ -830,7 +833,6 @@ class Data extends AbstractHelper
$baCollection->addActiveFilter();
foreach ($baCollection as $billingAgreement) {
$agreementData = $billingAgreement->getAgreementData();
// no agreementData and contractType then ignore
......@@ -843,7 +845,6 @@ class Data extends AbstractHelper
if (in_array($recurringType, $allowedContractTypes)) {
// check if AgreementLabel is set and if contract has an recurringType
if ($billingAgreement->getAgreementLabel()) {
// for Ideal use sepadirectdebit because it is
if ($agreementData['variant'] == 'ideal') {
$agreementData['variant'] = 'sepadirectdebit';
......@@ -1019,7 +1020,8 @@ class Data extends AbstractHelper
{
$notifications = $this->_notificationFactory->create();
$notifications->unprocessedNotificationsFilter();
return $notifications->getSize();;
return $notifications->getSize();
;
}
/**
......@@ -1080,15 +1082,27 @@ class Data extends AbstractHelper
$description = str_replace("\n", '', trim($name));
$itemAmount = $this->formatAmount($price, $currency);
$itemVatAmount = $this->getItemVatAmount($taxAmount,
$priceInclTax, $price, $currency);
$itemVatAmount = $this->getItemVatAmount(
$taxAmount,
$priceInclTax,
$price,
$currency
);
// Calculate vat percentage
$itemVatPercentage = $this->getMinorUnitTaxPercent($taxPercent);
return $this->getOpenInvoiceLineData($formFields, $count, $currency, $description,
return $this->getOpenInvoiceLineData(
$formFields,
$count,
$currency,
$description,
$itemAmount,
$itemVatAmount, $itemVatPercentage, $numberOfItems, $payment);
$itemVatAmount,
$itemVatPercentage,
$numberOfItems,
$payment
);
}
/**
......@@ -1130,9 +1144,17 @@ class Data extends AbstractHelper
$itemVatPercentage = $this->getMinorUnitTaxPercent($rate);
$numberOfItems = 1;
return $this->getOpenInvoiceLineData($formFields, $count, $currency, $description,
return $this->getOpenInvoiceLineData(
$formFields,
$count,
$currency,
$description,
$itemAmount,
$itemVatAmount, $itemVatPercentage, $numberOfItems, $payment);
$itemVatAmount,
$itemVatPercentage,
$numberOfItems,
$payment
);
}
/**
......@@ -1188,7 +1210,8 @@ class Data extends AbstractHelper
$formFields['openinvoicedata.' . $linename . '.numberOfItems'] = $numberOfItems;
if ($this->isVatCategoryHigh($payment->getAdditionalInformation(
\Adyen\Payment\Observer\AdyenHppDataAssignObserver::BRAND_CODE))
\Adyen\Payment\Observer\AdyenHppDataAssignObserver::BRAND_CODE
))
) {
$formFields['openinvoicedata.' . $linename . '.vatCategory'] = "High";
} else {
......@@ -1322,5 +1345,3 @@ class Data extends AbstractHelper
return new \Adyen\Service\PosPayment($client);
}
}
......@@ -426,14 +426,14 @@ class PaymentMethods extends AbstractHelper
/**
* @var array
*/
protected $_cacheParams = array(
protected $_cacheParams = [
'currencyCode',
'merchantReference',
'skinCode',
'merchantAccount',
'countryCode',
'shopperLocale',
);
];
/**
* @param $requestParams
......
......@@ -66,22 +66,22 @@ class AdyenLogger extends Logger
* @param array $context The log context
* @return Boolean Whether the record has been processed
*/
public function addAdyenNotification($message, array $context = array())
public function addAdyenNotification($message, array $context = [])
{
return $this->addRecord(static::ADYEN_NOTIFICATION, $message, $context);
}
public function addAdyenDebug($message, array $context = array())
public function addAdyenDebug($message, array $context = [])
{
return $this->addRecord(static::ADYEN_DEBUG, $message, $context);
}
public function addAdyenResult($message, array $context = array())
public function addAdyenResult($message, array $context = [])
{
return $this->addRecord(static::ADYEN_RESULT, $message, $context);
}
public function addAdyenNotificationCronjob($message, array $context = array())
public function addAdyenNotificationCronjob($message, array $context = [])
{
return $this->addRecord(static::ADYEN_NOTIFICATION_CRONJOB, $message, $context);
}
......@@ -109,7 +109,7 @@ class AdyenLogger extends Logger
* @param array $context The log context
* @return Boolean Whether the record has been processed
*/
public function addNotificationLog($message, array $context = array())
public function addNotificationLog($message, array $context = [])
{
return $this->addRecord(static::INFO, $message, $context);
}
......
......@@ -39,5 +39,4 @@ class AdyenCronjob extends AdyenBase
protected $loggerType = AdyenLogger::ADYEN_NOTIFICATION_CRONJOB;
protected $level = AdyenLogger::ADYEN_NOTIFICATION_CRONJOB;
}
......@@ -39,5 +39,4 @@ class AdyenDebug extends AdyenBase
protected $loggerType = AdyenLogger::ADYEN_DEBUG;
protected $level = AdyenLogger::ADYEN_DEBUG;
}
......@@ -42,5 +42,4 @@ class AdyenError extends AdyenBase
* @var
*/
protected $level = AdyenLogger::ERROR;
}
......@@ -39,5 +39,4 @@ class AdyenInfo extends AdyenBase
protected $loggerType = AdyenLogger::INFO;
protected $level = AdyenLogger::INFO;
}
......@@ -39,5 +39,4 @@ class AdyenNotification extends AdyenBase
protected $loggerType = AdyenLogger::ADYEN_NOTIFICATION;
protected $level = AdyenLogger::ADYEN_NOTIFICATION;
}
......@@ -39,5 +39,4 @@ class AdyenResult extends AdyenBase
protected $loggerType = AdyenLogger::ADYEN_RESULT;
protected $level = AdyenLogger::ADYEN_RESULT;
}
......@@ -68,8 +68,7 @@ class AdyenInitiateTerminalApi implements AdyenInitiateTerminalApiInterface
\Magento\Checkout\Model\Session $checkoutSession,
\Magento\Store\Model\StoreManagerInterface $storeManager,
array $data = []
)
{
) {
$this->adyenHelper = $adyenHelper;
$this->adyenLogger = $adyenLogger;
$this->checkoutSession = $checkoutSession;
......@@ -163,10 +162,14 @@ class AdyenInitiateTerminalApi implements AdyenInitiateTerminalApiInterface
}
}
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation('serviceID',
$serviceID);
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation('initiateDate',
$initiateDate);
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation(
'serviceID',
$serviceID
);
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation(
'initiateDate',
$initiateDate
);
try {
$response = $service->runTenderSync($request);
......@@ -176,14 +179,18 @@ class AdyenInitiateTerminalApi implements AdyenInitiateTerminalApiInterface
$response['error'] = $e->getMessage();
} catch (\Exception $e) {
//Probably timeout
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation('terminalResponse',
null);
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation(
'terminalResponse',
null
);
$quote->save();
$response['error'] = $e->getMessage();
throw $e;
}
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation('terminalResponse',
$response);
$quote->getPayment()->getMethodInstance()->getInfoInstance()->setAdditionalInformation(
'terminalResponse',
$response
);
$quote->save();
return $response;
......
......@@ -54,5 +54,4 @@ class AdyenPaymentMethodManagement implements \Adyen\Payment\Api\AdyenPaymentMet
return $this->_paymentMethodsHelper->getPaymentMethods($cartId, $country);
}
}
......@@ -81,7 +81,7 @@ class AdyenRequestMerchantSession implements AdyenRequestMerchantSessionInterfac
"displayName":"' . $displayName . '"
}';
$this->_adyenLogger->addAdyenDebug("JSON Requesst is: " . print_r($data,true));
$this->_adyenLogger->addAdyenDebug("JSON Requesst is: " . print_r($data, true));
curl_setopt($ch, CURLOPT_URL, $validationUrl);
......@@ -92,11 +92,10 @@ class AdyenRequestMerchantSession implements AdyenRequestMerchantSessionInterfac
curl_setopt($ch, CURLOPT_SSLCERT, $fullPathLocationPEMFile);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($data)
)
);
]);
$result = curl_exec($ch);
$httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE);
......@@ -107,7 +106,7 @@ class AdyenRequestMerchantSession implements AdyenRequestMerchantSessionInterfac
// result not 200 throw error
if ($httpStatus != 200 && $result) {
$this->_adyenLogger->addAdyenDebug("Error Apple, API HTTP Status is: " . $httpStatus . " result is:" . $result);
} elseif(!$result) {
} elseif (!$result) {
$errno = curl_errno($ch);
$message = curl_error($ch);
$msg = "(Network error [errno $errno]: $message)";
......
......@@ -83,7 +83,8 @@ class PaymentRequest extends DataObject
* @return mixed
* @throws \Adyen\AdyenException
*/
private function createClient($storeId) {
private function createClient($storeId)
{
$client = $this->_adyenHelper->initializeAdyenClient($storeId);
return $client;
}
......@@ -116,7 +117,7 @@ class PaymentRequest extends DataObject
$client = $this->createClient($storeId);
$service = new \Adyen\Service\Payment($client);
$result = $service->authorise3D($request);
} catch(\Adyen\AdyenException $e) {
} catch (\Adyen\AdyenException $e) {
throw new \Magento\Framework\Exception\LocalizedException(__('3D secure failed'));
}
......@@ -135,7 +136,6 @@ class PaymentRequest extends DataObject
$recurringTypes = $this->_recurringType->getAllowedRecurringTypesForListRecurringCall();
foreach ($recurringTypes as $recurringType) {
try {
// merge ONECLICK and RECURRING into one record with recurringType ONECLICK,RECURRING
$listRecurringContractByType =
......@@ -221,7 +221,7 @@ class PaymentRequest extends DataObject
try {
$result = $service->disable($request);
} catch(\Exception $e) {
} catch (\Exception $e) {
$this->_adyenLogger->info($e->getMessage());
}
......
......@@ -55,14 +55,16 @@ class Agreement extends \Magento\Paypal\Model\Billing\Agreement
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
array $data = []
) {
parent::__construct($context,
parent::__construct(
$context,
$registry,
$paymentData,
$billingAgreementFactory,
$dateFactory,
$resource,
$resourceCollection,
$data);
$data
);
$this->_adyenHelper = $adyenHelper;
}
......@@ -93,7 +95,8 @@ class Agreement extends \Magento\Paypal\Model\Billing\Agreement
//Billing agreement SEPA
if (isset($data['bank']['iban'])) {
$this->setAgreementLabel(__('%1, %2',
$this->setAgreementLabel(__(
'%1, %2',
$data['bank']['iban'],
$data['bank']['ownerName']
));
......@@ -108,7 +111,8 @@ class Agreement extends \Magento\Paypal\Model\Billing\Agreement
$ccType = $ccTypes[$ccType]['name'];
}
$label = __('%1, %2, **** %3',
$label = __(
'%1, %2, **** %3',
$ccType,
$data['card']['holderName'],
$data['card']['number'],
......@@ -119,7 +123,6 @@ class Agreement extends \Magento\Paypal\Model\Billing\Agreement
}
if ($data['variant'] == 'paypal') {
$email = "";
if (isset($data['tokenDetails']['tokenData']['EmailId'])) {
......@@ -128,7 +131,8 @@ class Agreement extends \Magento\Paypal\Model\Billing\Agreement
$email = $data['lastKnownShopperEmail'];
}
$label = __('PayPal %1',
$label = __(
'PayPal %1',
$email
);
$this->setAgreementLabel($label);
......
......@@ -127,7 +127,6 @@ class Installments extends \Magento\Framework\App\Config\Value
// first combine the ccTypes together
$list = [];
foreach ($value as $ccType => $items) {
// sort on amount
ksort($items);
......
......@@ -24,7 +24,6 @@
namespace Adyen\Payment\Model\Config\Source;
class ApplePayShippingType implements \Magento\Framework\Option\ArrayInterface
{
/**
......@@ -46,7 +45,8 @@ class ApplePayShippingType implements \Magento\Framework\Option\ArrayInterface
/**
* @return array
*/
public function toOptionArray() {
public function toOptionArray()
{
return $this->_adyenHelper->getApplePayShippingTypes();
}
}
......@@ -39,8 +39,7 @@ class RecurringType implements \Magento\Framework\Option\ArrayInterface
*/
public function __construct(
\Adyen\Payment\Helper\Data $adyenHelper
)
{
) {
$this->_adyenHelper = $adyenHelper;
}
......
......@@ -38,5 +38,4 @@ class SepaFlow implements \Magento\Framework\Option\ArrayInterface
['value' => self::SEPA_FLOW_AUTHCAP, 'label' => __('Auth/Cap')],
];
}
}
......@@ -48,5 +48,4 @@ class SplitPaymentRefundStrategy implements \Magento\Framework\Option\ArrayInter
self::REFUND_ON_RATIO => __('refund based on ratio')
];
}
}
This diff is collapsed.
......@@ -26,8 +26,7 @@ namespace Adyen\Payment\Model;
use Adyen\Payment\Api\Data\InvoiceInterface;
class Invoice extends \Magento\Framework\Model\AbstractModel
implements InvoiceInterface
class Invoice extends \Magento\Framework\Model\AbstractModel implements InvoiceInterface
{
/**
* Notification constructor.
......@@ -139,5 +138,4 @@ class Invoice extends \Magento\Framework\Model\AbstractModel
{
return $this->setData(self::INVOICE_ID, $invoiceId);
}
}
......@@ -96,11 +96,10 @@ class Adapter extends Method\Adapter
$agreement->getCustomerReference(),
$agreement->getStoreId()
);
} catch(\Exception $e) {
} catch (\Exception $e) {
throw new \Magento\Framework\Exception\LocalizedException(__('Failed to disable this contract'));
}
}
return $this;
}
}
......@@ -25,8 +25,7 @@ namespace Adyen\Payment\Model;
use Adyen\Payment\Api\Data\NotificationInterface;
class Notification extends \Magento\Framework\Model\AbstractModel
implements NotificationInterface
class Notification extends \Magento\Framework\Model\AbstractModel implements NotificationInterface
{
const AUTHORISATION = 'AUTHORISATION';
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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