Skip to content

Commit 84a3660

Browse files
author
Ivan Tagil
committed
Merge remote-tracking branch 'remotes/origin/feature/direct-flow' into feature/CMP-70_paypal-tests
2 parents 1269e3b + f153e97 commit 84a3660

File tree

2 files changed

+94
-29
lines changed

2 files changed

+94
-29
lines changed

etc/di.xml

Lines changed: 85 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<argument name="formBlockType" xsi:type="string">Magento\Payment\Block\Form</argument>
4343
<argument name="infoBlockType" xsi:type="string">Magento\Payment\Block\Info</argument>
4444
<argument name="valueHandlerPool" xsi:type="object">CMValueHandlerPool</argument>
45+
<argument name="validatorPool" xsi:type="object">CMValidatorPool</argument>
4546
<argument name="commandPool" xsi:type="object">CMCommandPool</argument>
4647
</arguments>
4748
</virtualType>
@@ -66,6 +67,20 @@
6667
</arguments>
6768
</virtualType>
6869

70+
<virtualType name="CMValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
71+
<arguments>
72+
<argument name="validators" xsi:type="array">
73+
<item name="country" xsi:type="string">CMCountryValidator</item>
74+
</argument>
75+
</arguments>
76+
</virtualType>
77+
78+
<virtualType name="CMCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator">
79+
<arguments>
80+
<argument name="config" xsi:type="object">CMGenericConfig</argument>
81+
</arguments>
82+
</virtualType>
83+
6984
<virtualType name="CMCommandPool" type="Magento\Payment\Gateway\Command\CommandPool">
7085
<arguments>
7186
<argument name="commands" xsi:type="array">
@@ -92,13 +107,11 @@
92107
<!-- END CM Payments Method -->
93108

94109
<!-- BEGIN CM Payments (Credit Card) Method -->
95-
<virtualType name="CMPaymentsCreditCardFacade" type="Magento\Payment\Model\Method\Adapter">
110+
<virtualType name="CMPaymentsCreditCardFacade" type="CMPaymentsFacade">
96111
<arguments>
97112
<argument name="code" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_CREDIT_CARD</argument>
98-
<argument name="formBlockType" xsi:type="string">Magento\Payment\Block\Form</argument>
99-
<argument name="infoBlockType" xsi:type="string">Magento\Payment\Block\Info</argument>
100113
<argument name="valueHandlerPool" xsi:type="object">CMCreditCardValueHandlerPool</argument>
101-
<argument name="commandPool" xsi:type="object">CMCommandPool</argument>
114+
<argument name="validatorPool" xsi:type="object">CMCreditCardValidatorPool</argument>
102115
</arguments>
103116
</virtualType>
104117

@@ -121,16 +134,28 @@
121134
<argument name="methodCode" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_CREDIT_CARD</argument>
122135
</arguments>
123136
</virtualType>
137+
138+
<virtualType name="CMCreditCardValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
139+
<arguments>
140+
<argument name="validators" xsi:type="array">
141+
<item name="country" xsi:type="string">CMCreditCardCountryValidator</item>
142+
</argument>
143+
</arguments>
144+
</virtualType>
145+
146+
<virtualType name="CMCreditCardCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator">
147+
<arguments>
148+
<argument name="config" xsi:type="object">CMCreditCardGenericConfig</argument>
149+
</arguments>
150+
</virtualType>
124151
<!-- END CM Payments (Credit Card) Method -->
125152

126153
<!-- BEGIN CM Payments (iDeal) Method -->
127-
<virtualType name="CMPaymentsIdealFacade" type="Magento\Payment\Model\Method\Adapter">
154+
<virtualType name="CMPaymentsIdealFacade" type="CMPaymentsFacade">
128155
<arguments>
129156
<argument name="code" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_IDEAL</argument>
130-
<argument name="formBlockType" xsi:type="string">Magento\Payment\Block\Form</argument>
131-
<argument name="infoBlockType" xsi:type="string">Magento\Payment\Block\Info</argument>
132157
<argument name="valueHandlerPool" xsi:type="object">CMIdealValueHandlerPool</argument>
133-
<argument name="commandPool" xsi:type="object">CMCommandPool</argument>
158+
<argument name="validatorPool" xsi:type="object">CMIdealValidatorPool</argument>
134159
</arguments>
135160
</virtualType>
136161

@@ -153,16 +178,28 @@
153178
<argument name="methodCode" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_IDEAL</argument>
154179
</arguments>
155180
</virtualType>
181+
182+
<virtualType name="CMIdealValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
183+
<arguments>
184+
<argument name="validators" xsi:type="array">
185+
<item name="country" xsi:type="string">CMIdealCountryValidator</item>
186+
</argument>
187+
</arguments>
188+
</virtualType>
189+
190+
<virtualType name="CMIdealCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator">
191+
<arguments>
192+
<argument name="config" xsi:type="object">CMIdealGenericConfig</argument>
193+
</arguments>
194+
</virtualType>
156195
<!-- END CM Payments (iDeal) Method -->
157196

158197
<!-- BEGIN CM Payments (PayPal) Method -->
159-
<virtualType name="CMPaymentsPaypalFacade" type="Magento\Payment\Model\Method\Adapter">
198+
<virtualType name="CMPaymentsPaypalFacade" type="CMPaymentsFacade">
160199
<arguments>
161200
<argument name="code" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_PAYPAL</argument>
162-
<argument name="formBlockType" xsi:type="string">Magento\Payment\Block\Form</argument>
163-
<argument name="infoBlockType" xsi:type="string">Magento\Payment\Block\Info</argument>
164201
<argument name="valueHandlerPool" xsi:type="object">CMPaypalValueHandlerPool</argument>
165-
<argument name="commandPool" xsi:type="object">CMCommandPool</argument>
202+
<argument name="validatorPool" xsi:type="object">CMPaypalValidatorPool</argument>
166203
</arguments>
167204
</virtualType>
168205

@@ -185,38 +222,64 @@
185222
<argument name="methodCode" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_PAYPAL</argument>
186223
</arguments>
187224
</virtualType>
225+
226+
<virtualType name="CMPaypalValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
227+
<arguments>
228+
<argument name="validators" xsi:type="array">
229+
<item name="country" xsi:type="string">CMPaypalCountryValidator</item>
230+
</argument>
231+
</arguments>
232+
</virtualType>
233+
234+
<virtualType name="CMPaypalCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator">
235+
<arguments>
236+
<argument name="config" xsi:type="object">CMPaypalGenericConfig</argument>
237+
</arguments>
238+
</virtualType>
188239
<!-- END CM Payments (PayPal) Method -->
189240

190241
<!-- BEGIN CM Payments (BanContact) Method -->
191-
<virtualType name="CMPaymentsBancontactFacade" type="Magento\Payment\Model\Method\Adapter">
242+
<virtualType name="CMPaymentsBancontactFacade" type="CMPaymentsFacade">
192243
<arguments>
193244
<argument name="code" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_BANCONTACT</argument>
194-
<argument name="formBlockType" xsi:type="string">Magento\Payment\Block\Form</argument>
195-
<argument name="infoBlockType" xsi:type="string">Magento\Payment\Block\Info</argument>
196-
<argument name="valueHandlerPool" xsi:type="object">CMBancontactValueHandlerPool</argument>
197-
<argument name="commandPool" xsi:type="object">CMCommandPool</argument>
245+
<argument name="valueHandlerPool" xsi:type="object">CMBanContactValueHandlerPool</argument>
246+
<argument name="validatorPool" xsi:type="object">CMBanContactValidatorPool</argument>
198247
</arguments>
199248
</virtualType>
200249

201-
<virtualType name="CMBancontactValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool">
250+
<virtualType name="CMBanContactValueHandlerPool" type="Magento\Payment\Gateway\Config\ValueHandlerPool">
202251
<arguments>
203252
<argument name="handlers" xsi:type="array">
204-
<item name="default" xsi:type="string">CMBancontactConfigValueHandler</item>
253+
<item name="default" xsi:type="string">CMBanContactConfigValueHandler</item>
205254
</argument>
206255
</arguments>
207256
</virtualType>
208257

209-
<virtualType name="CMBancontactConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler">
258+
<virtualType name="CMBanContactConfigValueHandler" type="Magento\Payment\Gateway\Config\ConfigValueHandler">
210259
<arguments>
211-
<argument name="configInterface" xsi:type="object">CMBancontactGenericConfig</argument>
260+
<argument name="configInterface" xsi:type="object">CMBanContactGenericConfig</argument>
212261
</arguments>
213262
</virtualType>
214263

215-
<virtualType name="CMBancontactGenericConfig" type="Magento\Payment\Gateway\Config\Config">
264+
<virtualType name="CMBanContactGenericConfig" type="Magento\Payment\Gateway\Config\Config">
216265
<arguments>
217266
<argument name="methodCode" xsi:type="const">CM\Payments\Model\ConfigProvider::CODE_BANCONTACT</argument>
218267
</arguments>
219268
</virtualType>
269+
270+
<virtualType name="CMBanContactValidatorPool" type="Magento\Payment\Gateway\Validator\ValidatorPool">
271+
<arguments>
272+
<argument name="validators" xsi:type="array">
273+
<item name="country" xsi:type="string">CMBanContactCountryValidator</item>
274+
</argument>
275+
</arguments>
276+
</virtualType>
277+
278+
<virtualType name="CMBanContactCountryValidator" type="Magento\Payment\Gateway\Validator\CountryValidator">
279+
<arguments>
280+
<argument name="config" xsi:type="object">CMBanContactGenericConfig</argument>
281+
</arguments>
282+
</virtualType>
220283
<!-- END CM Payments (BanContact) Method -->
221284

222285
<!-- BEGIN CM Payments (Logger) -->

view/frontend/web/js/model/shipping-save-processor/default-mixin.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,15 @@ define([
6565
function (response) {
6666
quote.setTotals(response.totals);
6767
let methods = methodConverter(response['payment_methods']);
68-
_.each(methods, function (method) {
69-
if (typeof response['extension_attributes'][method.method] !== 'undefined') {
70-
_.each(response['extension_attributes'][method.method], function (data, property) {
71-
window.checkoutConfig.payment[method.method][property] = data;
72-
});
73-
}
74-
});
68+
if (typeof response['extension_attributes'] !== 'undefined') {
69+
_.each(methods, function (method) {
70+
if (typeof response['extension_attributes'][method.method] !== 'undefined') {
71+
_.each(response['extension_attributes'][method.method], function (data, property) {
72+
window.checkoutConfig.payment[method.method][property] = data;
73+
});
74+
}
75+
});
76+
}
7577

7678
paymentService.setPaymentMethods(methods);
7779
fullScreenLoader.stopLoader();

0 commit comments

Comments
 (0)