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 55431848 authored by Rik ter Beek's avatar Rik ter Beek Committed by Alexandros Moraitis

Feature/update version applepay (#509)

* Update applepay version

* Working on applepay check

* Add check for applePay version
parent 03db9708
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
define( define(
[ [
'jquery', 'jquery',
'ko',
'Magento_Checkout/js/model/quote', 'Magento_Checkout/js/model/quote',
'Magento_Checkout/js/view/payment/default', 'Magento_Checkout/js/view/payment/default',
'Magento_Checkout/js/action/place-order', 'Magento_Checkout/js/action/place-order',
...@@ -34,8 +35,10 @@ define( ...@@ -34,8 +35,10 @@ define(
'Magento_Ui/js/model/messages', 'Magento_Ui/js/model/messages',
'mage/translate', 'mage/translate',
], ],
function ($, quote, Component, placeOrderAction, additionalValidators, urlBuilder, storage, url, Messages, $t) { function ($, ko, quote, Component, placeOrderAction, additionalValidators, urlBuilder, storage, url, Messages, $t) {
'use strict'; 'use strict';
var canMakeApplePayPayments = ko.observable(false);
var applePayVersion = 6;
return Component.extend({ return Component.extend({
self: this, self: this,
defaults: { defaults: {
...@@ -78,11 +81,12 @@ define( ...@@ -78,11 +81,12 @@ define(
var request = { var request = {
countryCode: quote.billingAddress().countryId, countryCode: quote.billingAddress().countryId,
currencyCode: quote.totals().quote_currency_code, currencyCode: quote.totals().quote_currency_code,
supportedNetworks: ['visa', 'masterCard', 'amex', 'discover'], supportedNetworks: ['visa', 'masterCard', 'amex', 'discover', 'maestro', 'vPay', 'jcb', 'elo'],
merchantCapabilities: ['supports3DS'], merchantCapabilities: ['supports3DS'],
total: {label: $t('Grand Total'), amount: quote.totals().base_grand_total} total: {label: $t('Grand Total'), amount: quote.totals().base_grand_total}
}; };
var session = new ApplePaySession(2, request); var session = new ApplePaySession(applePayVersion, request);
session.onvalidatemerchant = function (event) { session.onvalidatemerchant = function (event) {
var promise = self.performValidation(event.validationURL); var promise = self.performValidation(event.validationURL);
promise.then(function (merchantSession) { promise.then(function (merchantSession) {
...@@ -139,7 +143,16 @@ define( ...@@ -139,7 +143,16 @@ define(
return window.checkoutConfig.payment.adyen.showLogo; return window.checkoutConfig.payment.adyen.showLogo;
}, },
isApplePayAllowed: function () { isApplePayAllowed: function () {
if (window.ApplePaySession) { var self = this;
// validate if applepay is allowed, it will be picked up by the isApplePayVisible method
var promise = window.ApplePaySession.canMakePaymentsWithActiveCard(self.getMerchantIdentifier());
promise.then(function (canMakePayments) {
if (canMakePayments)
canMakeApplePayPayments(true);
});
if (window.ApplePaySession && window.ApplePaySession.supportsVersion(applePayVersion) ) {
return true; return true;
} }
return false; return false;
...@@ -177,6 +190,12 @@ define( ...@@ -177,6 +190,12 @@ define(
deferred.resolve(true); deferred.resolve(true);
} }
); );
},
isApplePayVisible: function() {
return canMakeApplePayPayments();
},
getMerchantIdentifier: function() {
return window.checkoutConfig.payment.adyen_apple_pay.merchant_identifier;
} }
}); });
} }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
*/ */
--> -->
<!-- ko if: isApplePayAllowed() --> <!-- ko if: isApplePayAllowed() -->
<div class="payment-method" data-bind="css: {'_active': (getCode() == isChecked())}"> <div class="payment-method" data-bind="css: {'_active': (getCode() == isChecked())}, visible: isApplePayVisible()">
<div class="payment-method-title field choice"> <div class="payment-method-title field choice">
<input type="radio" <input type="radio"
name="payment[method]" name="payment[method]"
......
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