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;
    }
}

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



5

Você pode usar o link abaixo

/magento//a/128606/70565

Espero que seja útil para você.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.