diff --git a/Block/Adminhtml/Config/Source/Redirect/SupportedPaymentMethodsAction.php b/Block/Adminhtml/Config/Source/Redirect/SupportedPaymentMethodsAction.php
deleted file mode 100644
index cffb9e2..0000000
--- a/Block/Adminhtml/Config/Source/Redirect/SupportedPaymentMethodsAction.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'keks-pay-hr', 'label' => __('KEKS pay')],
- ['value' => 'pay-cek', 'label' => __('PayCek')],
- ];
- }
-}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c4b617..f7d07fe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+### 1.7.1
+- Added additional 3DS parameters for Monri Redirect and Monri Components
+
### 1.7.0
- Improved Monri WebPay tokenization by using API for transaction creation.
- Added "Instant Purchase" on the product page for customers with saved Monri WebPay tokens.
diff --git a/Gateway/Request/Redirect/ProcessingDataBuilder.php b/Gateway/Request/Redirect/ProcessingDataBuilder.php
index 827d9eb..6ee4f8e 100644
--- a/Gateway/Request/Redirect/ProcessingDataBuilder.php
+++ b/Gateway/Request/Redirect/ProcessingDataBuilder.php
@@ -126,7 +126,7 @@ public function build(array $buildSubject)
$installments = $this->config->getInstallments($order->getStoreId());
- $supportedPaymentMethods = $this->config->getSupportedPaymentMethods($order->getStoreId()) ?? 'card';
+ $supportedPaymentMethods = 'card';
$isMoto = false;
diff --git a/Model/CheckoutConfigProvider.php b/Model/CheckoutConfigProvider.php
index 68e6c68..2c30d20 100644
--- a/Model/CheckoutConfigProvider.php
+++ b/Model/CheckoutConfigProvider.php
@@ -5,6 +5,7 @@
namespace Monri\Payments\Model;
use Magento\Checkout\Model\ConfigProviderInterface;
+use Magento\Framework\HTTP\PhpEnvironment\RemoteAddress;
use Monri\Payments\Gateway\Config\Components as Config;
use Magento\Checkout\Model\Session;
@@ -20,18 +21,26 @@ class CheckoutConfigProvider implements ConfigProviderInterface
*/
private $checkoutSession;
+ /**
+ * @var RemoteAddress
+ */
+ private $remoteAddress;
+
/**
* CheckoutConfigProvider constructor.
*
* @param Config $config
* @param Session $session
+ * @param RemoteAddress $remoteAddress
*/
public function __construct(
Config $config,
- Session $session
+ Session $session,
+ RemoteAddress $remoteAddress
) {
$this->config = $config;
$this->checkoutSession = $session;
+ $this->remoteAddress = $remoteAddress;
}
/**
@@ -50,6 +59,7 @@ public function getConfig()
'authenticityToken' => $this->config->getClientAuthenticityToken($quote->getStoreId()),
'locale' => $this->config->getGatewayLanguage($quote->getStoreId()),
'allowInstallments' => $this->config->getAllowInstallments($quote->getStoreId()),
+ 'customerIp' => $this->remoteAddress->getRemoteAddress(),
]
]
];
diff --git a/Model/Ui/Redirect/ConfigProvider.php b/Model/Ui/Redirect/ConfigProvider.php
index d552e05..9a32f58 100644
--- a/Model/Ui/Redirect/ConfigProvider.php
+++ b/Model/Ui/Redirect/ConfigProvider.php
@@ -5,6 +5,7 @@
namespace Monri\Payments\Model\Ui\Redirect;
use Magento\Checkout\Model\ConfigProviderInterface;
+use Magento\Framework\HTTP\PhpEnvironment\RemoteAddress;
use Monri\Payments\Gateway\VaultConfig;
class ConfigProvider implements ConfigProviderInterface
@@ -14,6 +15,19 @@ class ConfigProvider implements ConfigProviderInterface
*/
private const CODE = 'monri_payments';
+ /**
+ * @var RemoteAddress
+ */
+ private $remoteAddress;
+
+ /**
+ * @param RemoteAddress $remoteAddress
+ */
+ public function __construct(RemoteAddress $remoteAddress)
+ {
+ $this->remoteAddress = $remoteAddress;
+ }
+
/**
* Retrieve assoc array of payment method configuration
*
@@ -24,7 +38,8 @@ public function getConfig(): array
return [
'payment' => [
self::CODE => [
- 'vaultCode' => VaultConfig::CODE
+ 'vaultCode' => VaultConfig::CODE,
+ 'customerIp' => $this->remoteAddress->getRemoteAddress()
]
]
];
diff --git a/composer.json b/composer.json
index 39014f4..8def339 100644
--- a/composer.json
+++ b/composer.json
@@ -9,7 +9,7 @@
}
],
"description": "The official Monri Payments Magento 2 module",
- "version": "1.7.0",
+ "version": "1.7.1",
"license": [
"OSL-3.0"
],
diff --git a/etc/adminhtml/system.xml b/etc/adminhtml/system.xml
index 5bec32f..20b8580 100644
--- a/etc/adminhtml/system.xml
+++ b/etc/adminhtml/system.xml
@@ -19,7 +19,7 @@
showInDefault="1" showInWebsite="1" showInStore="0">
Magento\Config\Model\Config\Source\Yesno
-
+
@@ -53,12 +53,6 @@
Monri\Payments\Block\Adminhtml\Config\Source\Installments
-
-
- Monri\Payments\Block\Adminhtml\Config\Source\Redirect\SupportedPaymentMethodsAction
- 1
-
@@ -105,7 +99,7 @@
showInDefault="1" showInWebsite="1" showInStore="0">
Magento\Config\Model\Config\Source\Yesno
-
+
@@ -178,7 +172,7 @@
Magento\Config\Model\Config\Source\Yesno
-
+
diff --git a/view/frontend/web/js/view/method-renderer/monri_components.js b/view/frontend/web/js/view/method-renderer/monri_components.js
index 53336e7..5124017 100644
--- a/view/frontend/web/js/view/method-renderer/monri_components.js
+++ b/view/frontend/web/js/view/method-renderer/monri_components.js
@@ -220,6 +220,38 @@ define(
}.bind(this));
},
+ collectBrowserInfo: function () {
+ var screen_width = window && window.screen ? window.screen.width : '';
+ var screen_height = window && window.screen ? window.screen.height : '';
+ var color_depth = window && window.screen ? window.screen.colorDepth : '';
+ var user_agent = window && window.navigator ? window.navigator.userAgent : '';
+ var java_enabled = window && window.navigator ? navigator.javaEnabled() : false;
+ var ip_address = monriConfig.customerIp || '';
+
+ var language = '';
+ if (window && window.navigator) {
+ language = window.navigator.language
+ ? window.navigator.language
+ : window.navigator.browserLanguage || '';
+ }
+
+ var time_zone_offset = (new Date()).getTimezoneOffset();
+
+ return {
+ screen_width: screen_width,
+ screen_height: screen_height,
+ color_depth: color_depth,
+ user_agent: user_agent,
+ time_zone_offset: time_zone_offset,
+ language: language,
+ java_enabled: java_enabled,
+ http_accept: '*/*',
+ http_user_agent: user_agent,
+ http_accept_language: language || '*',
+ ip: ip_address
+ };
+ },
+
getTransactionData: function () {
var email = customer.isLoggedIn() ? customer.customerData.email : quote.guestEmail;
var address = quote.billingAddress();
@@ -241,7 +273,8 @@ define(
phone: address.telephone,
country: address.countryId,
email: email,
- orderInfo: $t('Magento Order')
+ orderInfo: $t('Magento Order'),
+ browser_info: this.collectBrowserInfo()
};
},
diff --git a/view/frontend/web/js/view/method-renderer/monri_payments.js b/view/frontend/web/js/view/method-renderer/monri_payments.js
index e4028d5..65688f1 100644
--- a/view/frontend/web/js/view/method-renderer/monri_payments.js
+++ b/view/frontend/web/js/view/method-renderer/monri_payments.js
@@ -75,11 +75,45 @@ define(
});
},
+ collectBrowserInfo: function () {
+ var screen_width = window && window.screen ? window.screen.width : '';
+ var screen_height = window && window.screen ? window.screen.height : '';
+ var color_depth = window && window.screen ? window.screen.colorDepth : '';
+ var user_agent = window && window.navigator ? window.navigator.userAgent : '';
+ var java_enabled = window && window.navigator ? navigator.javaEnabled() : false;
+ var ip_address = window.checkoutConfig.payment[this.getCode()].customerIp || '';
+
+ var language = '';
+ if (window && window.navigator) {
+ language = window.navigator.language
+ ? window.navigator.language
+ : window.navigator.browserLanguage || '';
+ }
+
+ var time_zone_offset = (new Date()).getTimezoneOffset();
+
+ return {
+ screen_width: screen_width,
+ screen_height: screen_height,
+ color_depth: color_depth,
+ user_agent: user_agent,
+ time_zone_offset: time_zone_offset,
+ language: language,
+ java_enabled: java_enabled,
+ http_accept: '*/*',
+ http_user_agent: user_agent,
+ http_accept_language: language || '*',
+ ip: ip_address
+ };
+ },
+
redirect: function (url, payload) {
var form = document.createElement('form');
form.method = 'POST';
form.action = url;
+ payload['browser_info'] = JSON.stringify(this.collectBrowserInfo());
+
for (var field in payload) {
if (payload.hasOwnProperty(field)) {
var input = document.createElement('input');
diff --git a/view/frontend/web/js/view/monri_components.js b/view/frontend/web/js/view/monri_components.js
index 59ff1d9..cd2912b 100644
--- a/view/frontend/web/js/view/monri_components.js
+++ b/view/frontend/web/js/view/monri_components.js
@@ -4,7 +4,7 @@
* (c) Monri Payments d.o.o.
*
* @author Favicode
- * @version 1.7.0
+ * @version 1.7.1
*/
define(
diff --git a/view/frontend/web/js/view/monri_payments.js b/view/frontend/web/js/view/monri_payments.js
index d9cbb0c..4be9919 100644
--- a/view/frontend/web/js/view/monri_payments.js
+++ b/view/frontend/web/js/view/monri_payments.js
@@ -4,7 +4,7 @@
* (c) Monri Payments d.o.o.
*
* @author Favicode
- * @version 1.7.0
+ * @version 1.7.1
*/
define(
diff --git a/view/frontend/web/js/view/monri_wspay.js b/view/frontend/web/js/view/monri_wspay.js
index 40db9fb..5aed676 100644
--- a/view/frontend/web/js/view/monri_wspay.js
+++ b/view/frontend/web/js/view/monri_wspay.js
@@ -4,7 +4,7 @@
* (c) Monri Payments d.o.o.
*
* @author Favicode
- * @version 1.7.0
+ * @version 1.7.1
*/
define([