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 cea55f4b authored by Rik ter Beek's avatar Rik ter Beek

#89 add support for devicefingerprint to support ratepay

parent 6b457dcd
...@@ -297,7 +297,11 @@ class Redirect extends \Magento\Payment\Block\Form ...@@ -297,7 +297,11 @@ class Redirect extends \Magento\Payment\Block\Form
$formFields['deliveryAddressType'] = "1"; $formFields['deliveryAddressType'] = "1";
// make setting to make this optional // make setting to make this optional
$adyFields['shopperType'] = "1"; $formFields['shopperType'] = "1";
}
if ($this->_order->getPayment()->getAdditionalInformation("df_value") != "") {
$formFields['dfValue'] = $this->_order->getPayment()->getAdditionalInformation("df_value");
} }
// Sort the array by key using SORT_STRING order // Sort the array by key using SORT_STRING order
......
...@@ -36,6 +36,7 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver ...@@ -36,6 +36,7 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
const GENDER = 'gender'; const GENDER = 'gender';
const DOB = 'dob'; const DOB = 'dob';
const TELEPHONE = 'telephone'; const TELEPHONE = 'telephone';
const DF_VALUE = 'df_value';
/** /**
...@@ -46,7 +47,8 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver ...@@ -46,7 +47,8 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
self::ISSUER_ID, self::ISSUER_ID,
self::GENDER, self::GENDER,
self::DOB, self::DOB,
self::TELEPHONE self::TELEPHONE,
self::DF_VALUE
]; ];
/** /**
......
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
/*global alert*/ /*global alert*/
var config = { var config = {
paths: { paths: {
'adyen/encrypt' : 'Adyen_Payment/js/view/payment/adyen.encrypt.min' 'adyen/encrypt' : 'Adyen_Payment/js/view/payment/adyen.encrypt.min',
'adyen/df' : 'https://live.adyen.com/hpp/js/df'
}, },
config: { config: {
mixins: { mixins: {
......
...@@ -35,12 +35,14 @@ define( ...@@ -35,12 +35,14 @@ define(
'Magento_Checkout/js/model/url-builder', 'Magento_Checkout/js/model/url-builder',
'Adyen_Payment/js/model/adyen-payment-service', 'Adyen_Payment/js/model/adyen-payment-service',
'Magento_Customer/js/model/customer', 'Magento_Customer/js/model/customer',
'Magento_Checkout/js/model/full-screen-loader' 'Magento_Checkout/js/model/full-screen-loader',
'adyen/df'
], ],
function (ko, $, Component, setPaymentMethodAction, selectPaymentMethodAction, quote, checkoutData, additionalValidators, storage, urlBuilder, adyenPaymentService, customer, fullScreenLoader) { function (ko, $, Component, setPaymentMethodAction, selectPaymentMethodAction, quote, checkoutData, additionalValidators, storage, urlBuilder, adyenPaymentService, customer, fullScreenLoader, deviceFingerprint) {
'use strict'; 'use strict';
var brandCode = ko.observable(null); var brandCode = ko.observable(null);
var paymentMethod = ko.observable(null); var paymentMethod = ko.observable(null);
var dfValue = ko.observable(null);
return Component.extend({ return Component.extend({
self: this, self: this,
...@@ -55,7 +57,8 @@ define( ...@@ -55,7 +57,8 @@ define(
'issuerId', 'issuerId',
'gender', 'gender',
'dob', 'dob',
'telephone' 'telephone',
'dfValue'
]); ]);
return this; return this;
}, },
...@@ -89,6 +92,12 @@ define( ...@@ -89,6 +92,12 @@ define(
).done( ).done(
function (response) { function (response) {
adyenPaymentService.setPaymentMethods(response); adyenPaymentService.setPaymentMethods(response);
// set device fingerprint value
dfSet('dfValue', 0);
// propagate this manually to knockoutjs otherwise it would not work
dfValue($('#dfValue').val());
fullScreenLoader.stopLoader(); fullScreenLoader.stopLoader();
} }
).fail(function(error) { ).fail(function(error) {
...@@ -114,7 +123,6 @@ define( ...@@ -114,7 +123,6 @@ define(
return self.validate(); return self.validate();
} }
if(value.brandCode == "ideal") { if(value.brandCode == "ideal") {
result.issuerIds = value.issuers; result.issuerIds = value.issuers;
result.issuerId = ko.observable(null); result.issuerId = ko.observable(null);
...@@ -155,13 +163,12 @@ define( ...@@ -155,13 +163,12 @@ define(
if (this.validate() && additionalValidators.validate()) { if (this.validate() && additionalValidators.validate()) {
var data = {}; var data = {};
data.method = self.method; data.method = self.method;
data.po_number = null;
var additionalData = {}; var additionalData = {};
additionalData.brand_code = self.value; additionalData.brand_code = self.value;
additionalData.df_value = dfValue();
if(brandCode() == "ideal") { if(brandCode() == "ideal") {
additionalData.issuer_id = this.issuerId(); additionalData.issuer_id = this.issuerId();
...@@ -187,7 +194,7 @@ define( ...@@ -187,7 +194,7 @@ define(
"method": self.method, "method": self.method,
"po_number": null, "po_number": null,
"additional_data": { "additional_data": {
brand_code: self.value, brand_code: self.value
} }
}; };
......
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