Cómo hacer que un método de pago sea visible solo para el administrador en Magento 2

Estás leyendo la publicación: Cómo hacer que un método de pago sea visible solo para el administrador en Magento 2

Magento 2 admite varios métodos de pago para permitir que los clientes paguen en línea. Pero a veces, el administrador puede haber configurado la colaboración con los clientes de tal manera que paguen directamente en efectivo, cheque o método de transferencia bancaria y el administrador realice pedidos en nombre de esos clientes. En tal caso, el administrador requiere habilitar dichos métodos de pago solo en el backend de Magento 2 y no en el frontend para los clientes.

El Magento 2 predeterminado no proporciona ninguna funcionalidad de este tipo para hacer que un método de pago sea visible solo para el administrador e invisible en la interfaz. Para satisfacer el escenario anterior, se me ocurrió un método para . Con este método, el método de pago no será visible en la interfaz para los clientes.

Método para hacer que un método de pago sea visible solo para el administrador en Magento 2

    1. Crear eventos.xml en aplicación/código/Vendedor/Extensión/etc/

      ​​

    2. Crear MétodoPagoDisponible.php en aplicación/código/Vendedor/Extensión/Observador/

      estado = $estado; } public function execute(\Magento\Framework\Event\Observer $observer) { // puede reemplazar “checkmo” con el código de su método de pago requerido if($observer->getEvent()->getMethodInstance()->getCode() ==”checkmo”){ if($this->state->getAreaCode()!=”backend”){ $checkResult = $observer->getEvent()->getResult(); $checkResult->setData(‘is_disponible’, false); } } } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      dieciséis

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      espacio de nombres Proveedor\Extensión\Observador;

      use Magento\Framework\Event\ObserverInterface;

      use Magento\Framework\App\State;

      clase PaymentMethodAvailable implementa ObserverInterface

      {

      $estado protegido;

      función pública __construcción (

      Estado $estado

      ) {

      $este->estado = $estado;

      }

      función pública ejecutar (\Magento\Framework\Event\Observer $observer)

      {

      // puede reemplazar “checkmo” con su código de método de pago requerido

      if($observador->getEvent()->getMethodInstance()->getCode()==”checkmo”){

      if($this->state->getAreaCode()!=”backend”){

      $verificarResultado = $observador->getEvent()->getResult();

      $checkResult->setData(‘is_disponible’, false);

      }

      }

      }

      }

Con el código mencionado anteriormente, puede hacer que un método de pago solo sea visible para el administrador e invisible para los clientes en la interfaz.

De la misma manera, como administrador, es posible que deba restringir los métodos de pago en la interfaz. Puede explorar la extensión de restricciones de pago de Magento 2 de Meetanshi para crear reglas de pago basadas en condiciones para restringir los métodos de pago en la interfaz.

Siempre puedes publicar cualquier duda sobre el blog en la sección de comentarios a continuación. Estaré feliz de ayudar 🙂

¡Comparta la publicación con otros miembros de la comunidad a través de las redes sociales!

¡No olvides calificar la publicación con 5 ⭐ si la encuentras útil!

¡Gracias por leer!

🔥 Recomendado:  Límites de la aplicación Cash: ¿Cuánto dinero puedes enviar?