We will work on Apr 26th (Saturday) and will be off from Apr 30th (Wednesday) until May 2nd (Friday) for public holiday in our country

Commit 23d858e2 authored by Rik ter Beek's avatar Rik ter Beek Committed by GitHub

Merge pull request #359 from Adyen/auto-fix-codestyle

autofix code style + two fixed errors setting the right exception cla…
parents 9589d4a5 18218c8e
......@@ -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;
}
}
......@@ -63,8 +63,7 @@ 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();
......@@ -89,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')
......@@ -110,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) {
......@@ -122,7 +119,6 @@ class Json extends \Magento\Framework\App\Action\Action
}
$acceptedMessage = "[accepted]";
}
$cronCheckTest = $notificationItems['notificationItems'][0]['NotificationRequestItem']['pspReference'];
......@@ -182,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')
];
}
}
......@@ -250,8 +250,7 @@ class Cron
\Magento\Sales\Model\ResourceModel\Order\Status\CollectionFactory $orderStatusCollection,
SearchCriteriaBuilder $searchCriteriaBuilder,
OrderRepository $orderRepository
)
{
) {
$this->_scopeConfig = $scopeConfig;
$this->_adyenLogger = $adyenLogger;
$this->_notificationFactory = $notificationFactory;
......@@ -317,7 +316,6 @@ class Cron
// loop over the notifications
$count = 0;
foreach ($notifications as $notification) {
$this->_adyenLogger->addAdyenNotificationCronjob(
sprintf("Processing notification %s", $notification->getEntityId())
);
......@@ -349,7 +347,6 @@ class Cron
$this->_order = $order;
if (!$this->_order) {
// order does not exists remove from queue
$notification->delete();
continue;
......@@ -376,7 +373,6 @@ class Cron
$this->_order->getState() === \Magento\Sales\Model\Order::STATE_PAYMENT_REVIEW ||
$this->_eventCode == Notification::ORDER_CLOSED
) {
$this->_adyenLogger->addAdyenNotificationCronjob('Going to cancel the order');
// if payment is API check, check if API result pspreference is the same as reference
......@@ -451,8 +447,11 @@ class Cron
protected function _isDuplicate($notification)
{
return $notification->isDuplicate(
$notification->getPspreference(), $notification->getEventCode(), $notification->getSuccess(),
$notification->getOriginalReference(), true
$notification->getPspreference(),
$notification->getEventCode(),
$notification->getSuccess(),
$notification->getOriginalReference(),
true
);
}
......@@ -491,7 +490,6 @@ class Cron
}
if ($additionalData && is_array($additionalData)) {
// check if the payment is in status manual review
$fraudManualReview = isset($additionalData['fraudManualReview']) ?
$additionalData['fraudManualReview'] : "";
......@@ -554,7 +552,6 @@ class Cron
$success = (!empty($this->_reason)) ? "$successResult <br />reason:$this->_reason" : $successResult;
if ($this->_eventCode == Notification::REFUND || $this->_eventCode == Notification::CAPTURE) {
$currency = $this->_order->getOrderCurrencyCode();
// check if it is a full or partial refund
......@@ -567,17 +564,20 @@ class Cron
if ($amount == $orderAmount) {
$this->_order->setData(
'adyen_notification_event_code', $this->_eventCode . " : " . strtoupper($successResult)
'adyen_notification_event_code',
$this->_eventCode . " : " . strtoupper($successResult)
);
} else {
$this->_order->setData(
'adyen_notification_event_code', "(PARTIAL) " .
'adyen_notification_event_code',
"(PARTIAL) " .
$this->_eventCode . " : " . strtoupper($successResult)
);
}
} else {
$this->_order->setData(
'adyen_notification_event_code', $this->_eventCode . " : " . strtoupper($successResult)
'adyen_notification_event_code',
$this->_eventCode . " : " . strtoupper($successResult)
);
}
......@@ -595,14 +595,24 @@ class Cron
}
$type = 'Adyen HTTP Notification(s):';
$comment = __('%1 <br /> eventCode: %2 <br /> pspReference: %3 <br /> paymentMethod: %4 <br />' .
' success: %5 %6 %7', $type, $this->_eventCode, $this->_pspReference, $this->_paymentMethod,
$success, $klarnaReservationNumberText, $boletoPaidAmountText);
$comment = __(
'%1 <br /> eventCode: %2 <br /> pspReference: %3 <br /> paymentMethod: %4 <br />' .
' success: %5 %6 %7',
$type,
$this->_eventCode,
$this->_pspReference,
$this->_paymentMethod,
$success,
$klarnaReservationNumberText,
$boletoPaidAmountText
);
// If notification is pending status and pending status is set add the status change to the comment history
if ($this->_eventCode == Notification::PENDING) {
$pendingStatus = $this->_getConfigData(
'pending_status', 'adyen_abstract', $this->_order->getStoreId()
'pending_status',
'adyen_abstract',
$this->_order->getStoreId()
);
if ($pendingStatus != "") {
$this->_order->addStatusHistoryComment($comment, $pendingStatus);
......@@ -641,7 +651,6 @@ class Cron
|| $this->_eventCode == Notification::HANDLED_EXTERNALLY
|| ($this->_eventCode == Notification::CAPTURE && $_paymentCode == "adyen_pos")
) {
/*
* if current notification is authorisation : false and
* the previous notification was authorisation : true do not update pspreference
......@@ -650,7 +659,6 @@ class Cron
strcmp($this->_success, '0') == 0 ||
strcmp($this->_success, '') == 0
) {
$previousAdyenEventCode = $this->_order->getData('adyen_notification_event_code');
if ($previousAdyenEventCode != "AUTHORISATION : TRUE") {
$this->_updateOrderPaymentWithAdyenAttributes($additionalData);
......@@ -689,7 +697,8 @@ class Cron
if ($this->_klarnaReservationNumber != "") {
$this->_order->getPayment()->setAdditionalInformation(
'adyen_klarna_number', $this->_klarnaReservationNumber
'adyen_klarna_number',
$this->_klarnaReservationNumber
);
}
if (isset($ccLast4) && $ccLast4 != "") {
......@@ -725,10 +734,10 @@ class Cron
}
if ($this->ratepayDescriptor !== "") {
$this->_order->getPayment()->setAdditionalInformation(
'adyen_ratepay_descriptor', $this->ratepayDescriptor
'adyen_ratepay_descriptor',
$this->ratepayDescriptor
);
}
}
/**
......@@ -758,14 +767,14 @@ class Cron
protected function _holdCancelOrder($ignoreHasInvoice)
{
$orderStatus = $this->_getConfigData(
'payment_cancelled', 'adyen_abstract', $this->_order->getStoreId()
'payment_cancelled',
'adyen_abstract',
$this->_order->getStoreId()
);
// check if order has in invoice only cancel/hold if this is not the case
if ($ignoreHasInvoice || !$this->_order->hasInvoices()) {
if ($orderStatus == \Magento\Sales\Model\Order::STATE_HOLDED) {
// Allow magento to hold order
$this->_order->setActionFlag(\Magento\Sales\Model\Order::ACTION_FLAG_HOLD, true);
......@@ -806,7 +815,9 @@ class Cron
break;
case Notification::REFUND:
$ignoreRefundNotification = $this->_getConfigData(
'ignore_refund_notification', 'adyen_abstract', $this->_order->getStoreId()
'ignore_refund_notification',
'adyen_abstract',
$this->_order->getStoreId()
);
if ($ignoreRefundNotification != true) {
$this->_refundOrder();
......@@ -820,7 +831,10 @@ class Cron
break;
case Notification::PENDING:
if ($this->_getConfigData(
'send_email_bank_sepa_on_pending', 'adyen_abstract', $this->_order->getStoreId())
'send_email_bank_sepa_on_pending',
'adyen_abstract',
$this->_order->getStoreId()
)
) {
// Check if payment is banktransfer or sepa if true then send out order confirmation email
$isBankTransfer = $this->_isBankTransfer();
......@@ -905,7 +919,6 @@ class Cron
if ($this->_order->isCanceled() ||
$this->_order->getState() === \Magento\Sales\Model\Order::STATE_HOLDED
) {
$this->_adyenLogger->addAdyenNotificationCronjob(
'Order is already cancelled or holded so do nothing'
);
......@@ -932,12 +945,17 @@ class Cron
$customerReference = $this->_order->getCustomerId();
$listRecurringContracts = null;
$this->_adyenLogger->addAdyenNotificationCronjob(
__('CustomerReference is: %1 and storeId is %2 and RecurringDetailsReference is %3',
$customerReference, $storeId, $recurringDetailReference)
__(
'CustomerReference is: %1 and storeId is %2 and RecurringDetailsReference is %3',
$customerReference,
$storeId,
$recurringDetailReference
)
);
try {
$listRecurringContracts = $this->_adyenPaymentRequest->getRecurringContractsForShopper(
$customerReference, $storeId
$customerReference,
$storeId
);
$contractDetail = null;
// get current Contract details and get list of all current ones
......@@ -1010,7 +1028,6 @@ class Cron
// Populate billing agreement data
$billingAgreement->parseRecurringContractData($contractDetail);
if ($billingAgreement->isValid()) {
// save into sales_billing_agreement_order
$billingAgreement->addOrderRelation($this->_order);
......@@ -1020,7 +1037,6 @@ class Cron
$message = __('Failed to create billing agreement for this order.');
throw new \Exception($message);
}
} catch (\Exception $exception) {
$message = $exception->getMessage();
}
......@@ -1047,7 +1063,6 @@ class Cron
// check if it is a split payment if so save the refunded data
if ($this->_originalReference != "") {
$this->_adyenLogger->addAdyenNotificationCronjob('Going to update the refund to split payments table');
$orderPayment = $this->_adyenOrderPaymentCollectionFactory
......@@ -1074,11 +1089,9 @@ class Cron
*/
$lastTransactionId = $this->_order->getPayment()->getLastTransId();
if ($lastTransactionId != $this->_pspReference) {
// refund is done through adyen backoffice so create a credit memo
$order = $this->_order;
if ($order->canCreditmemo()) {
$currency = $this->_order->getOrderCurrencyCode();
$amount = $this->_adyenHelper->originalAmount($this->_value, $currency);
$order->getPayment()->registerRefundNotification($amount);
......@@ -1132,7 +1145,6 @@ class Cron
if (!$this->_order->getEmailSent()) {
$this->_sendOrderMail();
}
}
if (($this->_paymentMethod == "c_cash" &&
......@@ -1140,7 +1152,6 @@ class Cron
($this->_getConfigData('create_shipment', 'adyen_pos', $this->_order->getStoreId()) &&
$_paymentCode == "adyen_pos")
) {
$this->_createShipment();
}
}
......@@ -1171,7 +1182,9 @@ class Cron
private function _setPrePaymentAuthorized()
{
$status = $this->_getConfigData(
'payment_pre_authorized', 'adyen_abstract', $this->_order->getStoreId()
'payment_pre_authorized',
'adyen_abstract',
$this->_order->getStoreId()
);
// only do this if status in configuration is set
......@@ -1226,7 +1239,9 @@ class Cron
}
$createPendingInvoice = (bool)$this->_getConfigData(
'create_pending_invoice', 'adyen_abstract', $this->_order->getStoreId()
'create_pending_invoice',
'adyen_abstract',
$this->_order->getStoreId()
);
if (!$createPendingInvoice) {
......@@ -1272,18 +1287,26 @@ class Cron
// validate if payment methods allows manual capture
if ($this->_manualCaptureAllowed()) {
$captureMode = trim($this->_getConfigData(
'capture_mode', 'adyen_abstract', $this->_order->getStoreId())
);
'capture_mode',
'adyen_abstract',
$this->_order->getStoreId()
));
$sepaFlow = trim($this->_getConfigData(
'sepa_flow', 'adyen_abstract', $this->_order->getStoreId())
);
'sepa_flow',
'adyen_abstract',
$this->_order->getStoreId()
));
$_paymentCode = $this->_paymentMethodCode();
$captureModeOpenInvoice = $this->_getConfigData(
'auto_capture_openinvoice', 'adyen_abstract', $this->_order->getStoreId()
'auto_capture_openinvoice',
'adyen_abstract',
$this->_order->getStoreId()
);
$manualCapturePayPal = trim($this->_getConfigData(
'paypal_capture_mode', 'adyen_abstract', $this->_order->getStoreId())
);
'paypal_capture_mode',
'adyen_abstract',
$this->_order->getStoreId()
));
/*
* if you are using authcap the payment method is manual.
......@@ -1322,7 +1345,6 @@ class Cron
);
return false;
}
}
// if auto capture mode for openinvoice is turned on then use auto capture
......@@ -1365,13 +1387,11 @@ class Cron
$this->_adyenLogger->addAdyenNotificationCronjob('Capture mode is set to auto capture');
return true;
} else {
// does not allow manual capture so is always immediate capture
$this->_adyenLogger->addAdyenNotificationCronjob('This payment method does not allow manual capture');
return true;
}
}
/**
......@@ -1434,7 +1454,9 @@ class Cron
protected function _getFraudManualReviewStatus()
{
return $this->_getConfigData(
'fraud_manual_review_status', 'adyen_abstract', $this->_order->getStoreId()
'fraud_manual_review_status',
'adyen_abstract',
$this->_order->getStoreId()
);
}
......@@ -1444,7 +1466,9 @@ class Cron
protected function _getFraudManualReviewAcceptStatus()
{
return $this->_getConfigData(
'fraud_manual_review_accept_status', 'adyen_abstract', $this->_order->getStoreId()
'fraud_manual_review_accept_status',
'adyen_abstract',
$this->_order->getStoreId()
);
}
......@@ -1471,7 +1495,8 @@ class Cron
$amount = $res[0]['total_amount'];
$orderAmount = $this->_adyenHelper->formatAmount($amount, $orderCurrencyCode);
$this->_adyenLogger->addAdyenNotificationCronjob(
sprintf('The grandtotal amount is %s and the total order amount that is authorised is: %s',
sprintf(
'The grandtotal amount is %s and the total order amount that is authorised is: %s',
$grandTotal,
$orderAmount
)
......@@ -1500,7 +1525,6 @@ class Cron
$this->_adyenLogger->addAdyenNotificationCronjob('Creating invoice for order');
if ($this->_order->canInvoice()) {
/* We do not use this inside a transaction because order->save()
* is always done on the end of the notification
* and it could result in a deadlock see https://github.com/Adyen/magento/issues/334
......@@ -1515,11 +1539,12 @@ class Cron
$autoCapture = $this->_isAutoCapture();
$createPendingInvoice = (bool)$this->_getConfigData(
'create_pending_invoice', 'adyen_abstract', $this->_order->getStoreId()
'create_pending_invoice',
'adyen_abstract',
$this->_order->getStoreId()
);
if ((!$autoCapture) && ($createPendingInvoice)) {
// if amount is zero create a offline invoice
$value = (int)$this->_value;
if ($value == 0) {
......@@ -1547,7 +1572,6 @@ class Cron
->save();
$this->_adyenLogger->addAdyenNotificationCronjob('Created invoice entry in the Adyen table');
} catch (Exception $e) {
$this->_adyenLogger->addAdyenNotificationCronjob(
'Error saving invoice. The error message is: ' . $e->getMessage()
......@@ -1594,14 +1618,18 @@ class Cron
}
$status = $this->_getConfigData(
'payment_authorized', 'adyen_abstract', $this->_order->getStoreId()
'payment_authorized',
'adyen_abstract',
$this->_order->getStoreId()
);
// virtual order can have different status
if ($this->_order->getIsVirtual()) {
$this->_adyenLogger->addAdyenNotificationCronjob('Product is a virtual product');
$virtualStatus = $this->_getConfigData(
'payment_authorized_virtual', 'adyen_abstract', $this->_order->getStoreId()
'payment_authorized_virtual',
'adyen_abstract',
$this->_order->getStoreId()
);
if ($virtualStatus != "") {
$status = $virtualStatus;
......@@ -1610,13 +1638,11 @@ class Cron
// check for boleto if payment is totally paid
if ($this->_paymentMethodCode() == "adyen_boleto") {
// check if paid amount is the same as orginal amount
$orginalAmount = $this->_boletoOriginalAmount;
$paidAmount = $this->_boletoPaidAmount;
if ($orginalAmount != $paidAmount) {
// not the full amount is paid. Check if it is underpaid or overpaid
// strip the BRL of the string
$orginalAmount = str_replace("BRL", "", $orginalAmount);
......@@ -1627,13 +1653,17 @@ class Cron
if ($paidAmount > $orginalAmount) {
$overpaidStatus = $this->_getConfigData(
'order_overpaid_status', 'adyen_boleto', $this->_order->getStoreId()
'order_overpaid_status',
'adyen_boleto',
$this->_order->getStoreId()
);
// check if there is selected a status if not fall back to the default
$status = (!empty($overpaidStatus)) ? $overpaidStatus : $status;
} else {
$underpaidStatus = $this->_getConfigData(
'order_underpaid_status', 'adyen_boleto', $this->_order->getStoreId()
'order_underpaid_status',
'adyen_boleto',
$this->_order->getStoreId()
);
// check if there is selected a status if not fall back to the default
$status = (!empty($underpaidStatus)) ? $underpaidStatus : $status;
......@@ -1722,6 +1752,4 @@ class Cron
$path = 'payment/' . $paymentMethodCode . '/' . $field;
return $this->_scopeConfig->getValue($path, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $storeId);
}
}
......@@ -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';
......
......@@ -25,8 +25,7 @@ namespace Adyen\Payment\Model\Order;
use Adyen\Payment\Api\Data\OrderPaymentInterface;
class Payment extends \Magento\Framework\Model\AbstractModel
implements OrderPaymentInterface
class Payment extends \Magento\Framework\Model\AbstractModel implements OrderPaymentInterface
{
/**
......
......@@ -23,9 +23,10 @@
namespace Adyen\Payment\Model;
class RecurringType {
class RecurringType
{
CONST NONE = '';
const NONE = '';
const ONECLICK = 'ONECLICK';
const ONECLICK_RECURRING = 'ONECLICK,RECURRING';
const RECURRING = 'RECURRING';
......
......@@ -33,5 +33,4 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab
{
$this->_init('Adyen\Payment\Model\Invoice', 'Adyen\Payment\Model\ResourceModel\Invoice');
}
}
......@@ -87,7 +87,9 @@ class AdyenApplePayConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'checkout/onepage/success/', ['_secure' => $this->_getRequest()->isSecure()]),
'checkout/onepage/success/',
['_secure' => $this->_getRequest()->isSecure()]
),
'merchant_identifier' => $this->_adyenHelper->getAdyenApplePayMerchantIdentifier()
]
]
......
......@@ -83,7 +83,9 @@ class AdyenBoletoConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'checkout/onepage/success/', ['_secure' => $this->_getRequest()->isSecure()])
'checkout/onepage/success/',
['_secure' => $this->_getRequest()->isSecure()]
)
],
'adyenBoleto' => [
'boletoTypes' => $this->getBoletoAvailableTypes()
......
......@@ -84,8 +84,7 @@ class AdyenCcConfigProvider implements ConfigProviderInterface
\Magento\Framework\UrlInterface $urlBuilder,
Source $assetSource,
\Magento\Payment\Model\CcConfig $ccConfig
)
{
) {
$this->_paymentHelper = $paymentHelper;
$this->_adyenHelper = $adyenHelper;
$this->_request = $request;
......@@ -105,7 +104,9 @@ class AdyenCcConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'adyen/process/validate3d/', ['_secure' => $this->_getRequest()->isSecure()])
'adyen/process/validate3d/',
['_secure' => $this->_getRequest()->isSecure()]
)
]
]
];
......
......@@ -38,7 +38,8 @@ class AdyenGenericConfigProvider implements ConfigProviderInterface
*
* @param \Adyen\Payment\Helper\Data $adyenHelper
*/
public function __construct(\Adyen\Payment\Helper\Data $adyenHelper) {
public function __construct(\Adyen\Payment\Helper\Data $adyenHelper)
{
$this->_adyenHelper = $adyenHelper;
}
/**
......
......@@ -81,8 +81,7 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
\Magento\Framework\UrlInterface $urlBuilder,
\Magento\Customer\Model\Session $customerSession,
\Magento\Checkout\Model\Session $session
)
{
) {
$this->_paymentHelper = $paymentHelper;
$this->_adyenHelper = $adyenHelper;
$this->_request = $request;
......@@ -104,7 +103,9 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'adyen/process/redirect', ['_secure' => $this->_getRequest()->isSecure()])
'adyen/process/redirect',
['_secure' => $this->_getRequest()->isSecure()]
)
]
]
];
......@@ -114,14 +115,13 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
// get customer
if ($this->_customerSession->isLoggedIn()) {
$gender = \Adyen\Payment\Model\Gender::getAdyenGenderFromMagentoGender(
$this->_customerSession->getCustomerData()->getGender()
);
// format to calendar date
$dob = $this->_customerSession->getCustomerData()->getDob();
if($dob) {
if ($dob) {
$dob = strtotime($dob);
$dob = date('m/d/Y', $dob);
}
......
......@@ -90,8 +90,7 @@ class AdyenOneclickConfigProvider implements ConfigProviderInterface
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Framework\UrlInterface $urlBuilder,
\Magento\Payment\Model\CcConfig $ccConfig
)
{
) {
$this->_adyenHelper = $adyenHelper;
$this->_request = $request;
$this->_customerSession = $customerSession;
......@@ -112,7 +111,9 @@ class AdyenOneclickConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'adyen/process/validate3d/', ['_secure' => $this->_getRequest()->isSecure()])
'adyen/process/validate3d/',
['_secure' => $this->_getRequest()->isSecure()]
)
]
]
];
......
......@@ -85,7 +85,9 @@ class AdyenPayByMailConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'adyen/process/redirect', ['_secure' => $this->_getRequest()->isSecure()])
'adyen/process/redirect',
['_secure' => $this->_getRequest()->isSecure()]
)
]
]
];
......
......@@ -70,7 +70,9 @@ class AdyenPosCloudConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->urlBuilder->getUrl(
'/checkout/onepage/success/', ['_secure' => $this->getRequest()->isSecure()])
'/checkout/onepage/success/',
['_secure' => $this->getRequest()->isSecure()]
)
]
]
];
......
......@@ -85,7 +85,9 @@ class AdyenPosConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'adyen/process/redirectPos', ['_secure' => $this->_getRequest()->isSecure()])
'adyen/process/redirectPos',
['_secure' => $this->_getRequest()->isSecure()]
)
]
]
];
......
......@@ -85,7 +85,9 @@ class AdyenSepaConfigProvider implements ConfigProviderInterface
self::CODE => [
'isActive' => true,
'redirectUrl' => $this->_urlBuilder->getUrl(
'checkout/onepage/success/', ['_secure' => $this->_getRequest()->isSecure()])
'checkout/onepage/success/',
['_secure' => $this->_getRequest()->isSecure()]
)
]
]
];
......
......@@ -33,7 +33,7 @@ use Magento\Payment\Observer\AbstractDataAssignObserver;
class BeforeShipmentObserver extends AbstractDataAssignObserver
{
private $_adyenHelper;
private $adyenHelper;
/**
* BeforeShipmentObserver constructor.
......@@ -42,9 +42,8 @@ class BeforeShipmentObserver extends AbstractDataAssignObserver
*/
public function __construct(
\Adyen\Payment\Helper\Data $adyenHelper
)
{
$this->_adyenHelper = $adyenHelper;
) {
$this->adyenHelper = $adyenHelper;
}
/**
......@@ -58,13 +57,12 @@ class BeforeShipmentObserver extends AbstractDataAssignObserver
$captureOnShipment = $this->_adyenHelper->getConfigData('capture_on_shipment', 'adyen_abstract', $order->getStoreId());
if ($this->isPaymentMethodAdyen($order) && $captureOnShipment) {
$payment = $order->getPayment();
$brandCode = $payment->getAdditionalInformation(
\Adyen\Payment\Observer\AdyenHppDataAssignObserver::BRAND_CODE
);
if ($this->_adyenHelper->isPaymentMethodOpenInvoiceMethod($brandCode)) {
if ($this->adyenHelper->isPaymentMethodOpenInvoiceMethod($brandCode)) {
if ($order->canInvoice()) {
try {
$invoice = $order->prepareInvoice();
......@@ -75,8 +73,8 @@ class BeforeShipmentObserver extends AbstractDataAssignObserver
$invoice->setTransactionId($pspReference);
$invoice->register()->pay();
$invoice->save();
} catch (Exception $e) {
throw new Exception(sprintf('Error saving invoice. The error message is:', $e->getMessage()));
} catch (\Exception $e) {
throw new \Exception(sprintf('Error saving invoice. The error message is:', $e->getMessage()));
}
}
}
......
......@@ -81,4 +81,4 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
}
}
}
}
}
......@@ -64,7 +64,6 @@ class AdyenOneclickDataAssignObserver extends AbstractDataAssignObserver
) {
$this->adyenHelper = $adyenHelper;
$this->appState = $context->getAppState();
}
/**
......@@ -108,7 +107,6 @@ class AdyenOneclickDataAssignObserver extends AbstractDataAssignObserver
$variant = $additionalData['variant'];
$ccType = $this->adyenHelper->getMagentoCreditCartType($variant);
$paymentInfo->setAdditionalInformation('cc_type', $ccType);
}
/**
......
......@@ -123,7 +123,9 @@ class UpgradeSchema implements UpgradeSchemaInterface
'comment' => 'Agreement Data'
];
$connection->addColumn(
$setup->getTable('paypal_billing_agreement'), 'agreement_data', $adyenAgreementDataColumn
$setup->getTable('paypal_billing_agreement'),
'agreement_data',
$adyenAgreementDataColumn
);
}
......@@ -241,7 +243,8 @@ class UpgradeSchema implements UpgradeSchemaInterface
$connection->addColumn(
$setup->getTable('adyen_notification'),
\Adyen\Payment\Model\Notification::ORIGINAL_REFERENCE, $column
\Adyen\Payment\Model\Notification::ORIGINAL_REFERENCE,
$column
);
}
......@@ -326,11 +329,13 @@ class UpgradeSchema implements UpgradeSchemaInterface
['unsigned' => true, 'nullable' => true],
'Adyen OriginalReference of the payment'
)
->addColumn('acquirer_reference',
->addColumn(
'acquirer_reference',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['unsigned' => true, 'nullable' => true],
'Adyen AcquirerReference of the capture')
'Adyen AcquirerReference of the capture'
)
->addColumn(
'invoice_id',
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
......
......@@ -25,7 +25,7 @@
* @var \Adyen\Payment\Block\Checkout\Success $block
*/
?>
<?php if ($block->isBoletoPayment()):?>
<?php if ($block->isBoletoPayment()) :?>
<p>
<?php echo $block->escapeHtml(__('Boleto PDF: ')); ?>
<a href="<?php echo $block->escapeUrl($block->getBoletoPdfUrl()); ?>">
......
......@@ -30,9 +30,9 @@
<form id="adyen_form" method="POST" action="<?php echo $block->getFormUrl()?>">
<?php
foreach($block->getFormFields() as $field => $value) {
echo '<input type="hidden" name="' .htmlspecialchars($field, ENT_COMPAT | ENT_HTML401 ,'UTF-8').
'" value="' .htmlspecialchars($value, ENT_COMPAT | ENT_HTML401 ,'UTF-8') . '" />';
foreach ($block->getFormFields() as $field => $value) {
echo '<input type="hidden" name="' .htmlspecialchars($field, ENT_COMPAT | ENT_HTML401, 'UTF-8').
'" value="' .htmlspecialchars($value, ENT_COMPAT | ENT_HTML401, 'UTF-8') . '" />';
}
?>
</form>
......
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