Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion Gateway/Request/Redirect/ProcessingDataBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
12 changes: 11 additions & 1 deletion Model/CheckoutConfigProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;
}

/**
Expand All @@ -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(),
]
]
];
Expand Down
17 changes: 16 additions & 1 deletion Model/Ui/Redirect/ConfigProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
*
Expand All @@ -24,7 +38,8 @@ public function getConfig(): array
return [
'payment' => [
self::CODE => [
'vaultCode' => VaultConfig::CODE
'vaultCode' => VaultConfig::CODE,
'customerIp' => $this->remoteAddress->getRemoteAddress()
]
]
];
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
}
],
"description": "The official Monri Payments Magento 2 module",
"version": "1.7.0",
"version": "1.7.1",
"license": [
"OSL-3.0"
],
Expand Down
12 changes: 3 additions & 9 deletions etc/adminhtml/system.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
showInDefault="1" showInWebsite="1" showInStore="0">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<comment><![CDATA[Monri Payments Version - 1.7.0]]></comment>
<comment><![CDATA[Monri Payments Version - 1.7.1]]></comment>
</field>
<field id="title" translate="label" type="text" sortOrder="10"
showInDefault="1" showInWebsite="1" showInStore="1">
Expand Down Expand Up @@ -53,12 +53,6 @@
<label>Number of Installments</label>
<source_model>Monri\Payments\Block\Adminhtml\Config\Source\Installments</source_model>
</field>
<field id="supported_payment_methods" translate="label" type="multiselect" sortOrder="65"
showInDefault="1" showInWebsite="1" showInStore="1">
<label>Additional Payment Methods</label>
<source_model>Monri\Payments\Block\Adminhtml\Config\Source\Redirect\SupportedPaymentMethodsAction</source_model>
<can_be_empty>1</can_be_empty>
</field>
<field id="sandbox" translate="label" type="select" sortOrder="70"
showInDefault="1" showInWebsite="1" showInStore="0">
<label>Sandbox Mode</label>
Expand Down Expand Up @@ -105,7 +99,7 @@
showInDefault="1" showInWebsite="1" showInStore="0">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<comment><![CDATA[Monri Payments Version - 1.7.0]]></comment>
<comment><![CDATA[Monri Payments Version - 1.7.1]]></comment>
</field>
<field id="title" translate="label" type="text" sortOrder="10"
showInDefault="1" showInWebsite="1" showInStore="1">
Expand Down Expand Up @@ -178,7 +172,7 @@
<field id="active" translate="label" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="0">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<comment><![CDATA[Monri Payments Version - 1.7.0]]></comment>
<comment><![CDATA[Monri Payments Version - 1.7.1]]></comment>
</field>
<field id="title" translate="label" type="text" sortOrder="20" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Title</label>
Expand Down
35 changes: 34 additions & 1 deletion view/frontend/web/js/view/method-renderer/monri_components.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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()
};
},

Expand Down
34 changes: 34 additions & 0 deletions view/frontend/web/js/view/method-renderer/monri_payments.js
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down
2 changes: 1 addition & 1 deletion view/frontend/web/js/view/monri_components.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* (c) Monri Payments d.o.o.
*
* @author Favicode <contact@favicode.net>
* @version 1.7.0
* @version 1.7.1
*/

define(
Expand Down
2 changes: 1 addition & 1 deletion view/frontend/web/js/view/monri_payments.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* (c) Monri Payments d.o.o.
*
* @author Favicode <contact@favicode.net>
* @version 1.7.0
* @version 1.7.1
*/

define(
Expand Down
2 changes: 1 addition & 1 deletion view/frontend/web/js/view/monri_wspay.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* (c) Monri Payments d.o.o.
*
* @author Favicode <contact@favicode.net>
* @version 1.7.0
* @version 1.7.1
*/

define([
Expand Down