18 private $vaultPaymentList;
23 private $paymentMethodList;
28 private $storeManager;
36 \
Magento\Vault\Api\PaymentMethodListInterface $vaultPaymentList,
37 \
Magento\Payment\Api\PaymentMethodListInterface $paymentMethodList,
38 \
Magento\Store\Model\StoreManagerInterface $storeManager
40 $this->vaultPaymentList = $vaultPaymentList;
41 $this->paymentMethodList = $paymentMethodList;
55 $configuration = &$jsLayout[
'components'][
'checkout'][
'children'][
'steps'][
'children'][
'billing-step']
56 [
'children'][
'payment'][
'children'][
'renders'][
'children'];
62 $storeId = $this->storeManager->getStore()->getId();
63 $activePaymentMethodList = $this->paymentMethodList->getActiveList(
$storeId);
64 $activeVaultList = $this->vaultPaymentList->getActiveList(
$storeId);
65 $getCodeFunc =
function (
$method) {
68 $getProviderCodeFunc =
function (
$method) {
69 return $method->getProviderCode();
71 $activePaymentMethodCodes = array_map($getCodeFunc, $activePaymentMethodList);
72 $activeVaultProviderCodes = array_map($getProviderCodeFunc, $activeVaultList);
73 $activePaymentMethodCodes = array_merge(
74 $activePaymentMethodCodes,
75 $activeVaultProviderCodes
79 $notActivePaymentMethodCodes = array_diff(array_keys($groupConfig[
'methods']), $activePaymentMethodCodes);
80 foreach ($notActivePaymentMethodCodes as $notActivePaymentMethodCode) {
81 unset(
$configuration[$paymentGroup][
'methods'][$notActivePaymentMethodCode]);
83 if ($paymentGroup ===
'vault' && !empty($activeVaultProviderCodes)) {
__construct(\Magento\Vault\Api\PaymentMethodListInterface $vaultPaymentList, \Magento\Payment\Api\PaymentMethodListInterface $paymentMethodList, \Magento\Store\Model\StoreManagerInterface $storeManager)
beforeProcess(\Magento\Checkout\Block\Checkout\LayoutProcessor $processor, $jsLayout)