Todas as formas de pagamento não estão disponíveis na regra de preço do carrinho

Respostas:

10

fornecedor de arquivo aberto / magento / module-payment / Helper / data.php

na linha número 268 coloque esta linha

$data['active'] = 1;

se você não quiser alterar o arquivo principal, precisará substituí-lo, siga o código abaixo

Vá para Fornecedor / Extensão / etc / di.xml E escreva o código abaixo em di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Payment\Helper\Data" type="Vendor\Extension\Helper\Data"/>
</config>

O próximo passo é criar o arquivo Data.php em Vendor \ Extension \ Helper \ Data.php

<?php
namespace Vendor\Extension\Helper;

use Magento\Payment\Helper\Data as MainHelper;

class Data extends MainHelper
{
    public function getPaymentMethodList($sorted = true, $asLabelValue = false, $withGroups = false, $store = null)
    {
        $methods = [];
        $groups = [];
        $groupRelations = [];


        foreach ($this->getPaymentMethods() as $code => $data) {

            $data['active'] = 1;

            if (!empty($data['active'])) {
                $storedTitle = $this->getMethodInstance($code)->getConfigData('title', $store);
                if (isset($storedTitle)) {
                    $methods[$code] = $storedTitle;
                } elseif (isset($data['title'])) {
                    $methods[$code] = $data['title'];
                }
            }
            if ($asLabelValue && $withGroups && isset($data['group'])) {
                $groupRelations[$code] = $data['group'];
            }
        }
        if ($asLabelValue && $withGroups) {
            $groups = $this->_paymentConfig->getGroups();
            foreach ($groups as $code => $title) {
                $methods[$code] = $title;
            }
        }
        if ($sorted) {
            asort($methods);
        }
        if ($asLabelValue) {
            $labelValues = [];
            foreach ($methods as $code => $title) {
                $labelValues[$code] = [];
            }
            foreach ($methods as $code => $title) {
                if (isset($groups[$code])) {
                    $labelValues[$code]['label'] = $title;
                    if (!isset($labelValues[$code]['value'])) {
                        $labelValues[$code]['value'] = null;
                    }
                } elseif (isset($groupRelations[$code])) {
                    unset($labelValues[$code]);
                    $labelValues[$groupRelations[$code]]['value'][$code] = ['value' => $code, 'label' => $title];
                } else {
                    $labelValues[$code] = ['value' => $code, 'label' => $title];
                }
            }

            return $labelValues;
        }


        return $methods;
    }
}
Jigs Parmar
fonte
Não está funcionando e não consigo editar os arquivos principais.
Magecode
No Magento 2.3.1, podemos criar regras usando o método de pagamento, mas por que todos os métodos de pagamento não estão lá na seleção de condições?
Magecode
seu trabalho para mim você pode compartilhar a imagem que você colocar exata, se você não quer arquivo core edição que você substituir esse arquivo e mudança
Jigs Parmar
meetanshi.d.pr/ynAITh
Jigs Parmar
5

Você pode usar o link abaixo

/magento//a/128606/70565

Espero que seja útil para você.

Sweety Masmiya
fonte
No Magento 2.3.1, podemos criar regras usando o método de pagamento, mas por que todos os métodos de pagamento não estão lá na seleção de condições?
Magecode
Eu tenho o check-in na versão magento 231, nessa condição de forma de pagamento não está disponível.
Sweety Masmiya
Você está usando alguma extensão ou funcionalidade magento padrão?
Sweety Masmiya
Funcionalidade Magento padrão
Magecode
Eu tenho o check-in na versão magento 231 padrão, nessa condição de forma de pagamento não está disponível.
Sweety Masmiya