@@ -39,16 +39,24 @@ class MethodList
39
39
*/
40
40
private $ paymentMethodInstanceFactory ;
41
41
42
+ /**
43
+ * @var array
44
+ */
45
+ private $ additionalChecks ;
46
+
42
47
/**
43
48
* @param \Magento\Payment\Helper\Data $paymentHelper
44
- * @param Checks\SpecificationFactory $specificationFactory
49
+ * @param Checks\SpecificationFactory $specificationFactory
50
+ * @param array $additionalChecks
45
51
*/
46
52
public function __construct (
47
53
\Magento \Payment \Helper \Data $ paymentHelper ,
48
- \Magento \Payment \Model \Checks \SpecificationFactory $ specificationFactory
54
+ \Magento \Payment \Model \Checks \SpecificationFactory $ specificationFactory ,
55
+ array $ additionalChecks = []
49
56
) {
50
57
$ this ->paymentHelper = $ paymentHelper ;
51
58
$ this ->methodSpecificationFactory = $ specificationFactory ;
59
+ $ this ->additionalChecks = $ additionalChecks ;
52
60
}
53
61
54
62
/**
@@ -80,12 +88,15 @@ public function getAvailableMethods(\Magento\Quote\Api\Data\CartInterface $quote
80
88
protected function _canUseMethod ($ method , \Magento \Quote \Api \Data \CartInterface $ quote )
81
89
{
82
90
return $ this ->methodSpecificationFactory ->create (
83
- [
84
- AbstractMethod::CHECK_USE_CHECKOUT ,
85
- AbstractMethod::CHECK_USE_FOR_COUNTRY ,
86
- AbstractMethod::CHECK_USE_FOR_CURRENCY ,
87
- AbstractMethod::CHECK_ORDER_TOTAL_MIN_MAX ,
88
- ]
91
+ array_merge (
92
+ [
93
+ AbstractMethod::CHECK_USE_CHECKOUT ,
94
+ AbstractMethod::CHECK_USE_FOR_COUNTRY ,
95
+ AbstractMethod::CHECK_USE_FOR_CURRENCY ,
96
+ AbstractMethod::CHECK_ORDER_TOTAL_MIN_MAX ,
97
+ ],
98
+ $ this ->additionalChecks
99
+ )
89
100
)->isApplicable (
90
101
$ method ,
91
102
$ quote
0 commit comments