diff --git a/.gitignore b/.gitignore index 1e6c8cdcecef6cdad04fdea14e744b760cb2816e..3a8bbe4a9576898486e8da68c0e2b4e9998ee564 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ atlassian* !/pub/media/wysiwyg/.htaccess /pub/media/tmp/* !/pub/media/tmp/.htaccess +/pub/media/captcha/* /pub/static/* !/pub/static/.htaccess diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/select-payment-method.js b/app/code/Magento/Checkout/view/frontend/web/js/action/select-payment-method.js index 9a754ebca3cbb93b310be697e7eb00b579b2c9f7..8747c5c50368e27101eefd651340b89501fab4dc 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/select-payment-method.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/select-payment-method.js @@ -15,9 +15,9 @@ define( ], function($, quote, urlBuilder, navigator, errorList, storage, _) { "use strict"; - return function (activeMethod, additionalData) { + return function (methodView) { var defaultMethodData = { - "method": activeMethod.getCode(), + "method": methodView.getCode(), "po_number": null, "cc_owner": null, "cc_number": null, @@ -26,7 +26,7 @@ define( "cc_exp_month": null, "additional_data": null }; - $.extend(defaultMethodData, activeMethod.getData(), {'additional_data': additionalData}); + $.extend(defaultMethodData, methodView.getData()); var paymentMethodData = { "cartId": quote.getQuoteId(), "paymentMethod": defaultMethodData @@ -41,8 +41,8 @@ define( JSON.stringify(_.extend(paymentMethodData, shippingMethodData)) ).done( function(response) { - if (activeMethod.afterSave()) { - quote.setPaymentMethod(activeMethod.getCode()); + if (methodView.afterSave()) { + quote.setPaymentMethod(methodView.getCode()); quote.setTotals(response); navigator.setCurrent('paymentMethod').goNext(); } diff --git a/app/code/Magento/Quote/Model/PaymentMethodManagement.php b/app/code/Magento/Quote/Model/PaymentMethodManagement.php index fa4add6be7b7ec66b9872c55d1f1f1983ea1c475..b75aafe39c7b39ec81f75c615ec7e0dfd5bfaf97 100644 --- a/app/code/Magento/Quote/Model/PaymentMethodManagement.php +++ b/app/code/Magento/Quote/Model/PaymentMethodManagement.php @@ -54,7 +54,11 @@ class PaymentMethodManagement implements \Magento\Quote\Api\PaymentMethodManagem \Magento\Payment\Model\Method\AbstractMethod::CHECK_ORDER_TOTAL_MIN_MAX, ]); $payment = $quote->getPayment(); - $payment->importData($method->getData()); + + $data = $method->getData(); + $data = array_merge($data, (array)$data['additional_data']); + unset($data['additional_data']); + $payment->importData($data); if ($quote->isVirtual()) { // check if billing address is set