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;
    }
}
Jigs Parmar
fuente
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
meetanshi.d.pr/ynAITh
Jigs Parmar
5

Puedes usar el siguiente enlace

/magento//a/128606/70565

Espero que sea útil para ti.

Sweety Masmiya
fuente
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