Todos los métodos de pago no están incluidos en la Regla del precio del carrito


Respuestas:


10

abrir archivo vendor / magento / module-payment / Helper / data.php

en la línea número 268 pon esta línea

$data['active'] = 1;

si no desea cambiar el archivo principal, debe anular ese archivo, siga el código siguiente

Vaya a Proveedor / Extensión / etc / di.xml y escriba el siguiente código en 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>

El siguiente paso es crear el archivo Data.php en 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;
    }
}

No funciona y no puedo editar archivos principales.
Magecode

En Magento 2.3.1 podemos crear una regla usando el método de pago, pero ¿por qué no todos los métodos de pago vienen en la selección de condiciones?
Magecode

está funcionando para mí, ¿puede compartir la captura de pantalla en el lugar exacto? Si no desea editar el archivo principal, anule ese archivo y cambie
Jigs Parmar



5

Puedes usar el siguiente enlace

/magento//a/128606/70565

Espero que sea útil para ti.


En Magento 2.3.1 podemos crear una regla usando el método de pago, pero ¿por qué no todos los métodos de pago vienen en la selección de condiciones?
Magecode

Tengo cheque en la versión magento 231, en esa condición de método de pago no está disponible.
Sweety Masmiya

¿Está utilizando alguna extensión o funcionalidad predeterminada de magento?
Sweety Masmiya

Funcionalidad predeterminada de Magento
Magecode del

Tengo el cheque en la versión predeterminada de magento 231, en esa forma de pago no está disponible
Sweety Masmiya
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.