Agregar condicion Metodo de pago para regla de promocion en Magento2

Por default magento no trae una condicion dependiente del metodo de pago para agregar a las reglas de promociones del checkout, para agregarla lo primero que aremos sera sobreescribir la clase Magento\SalesRule\Model\Rule\Condition\Address a travez del archivo di.xm en nuestro modulo.

Vendor/NombreModulo/etc/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\SalesRule\Model\Rule\Condition\Address" type="Vendor\NombreModulo\Model\Rule\Condition\Address" />
</config>

 

Creamos la clase Vendor\NombreModulo\Model\Rule\Condition\Address en app/code/Vendor/NombreModulo/Model/Rule/Condition/Address.php

<?php
namespace Vendor\NombreModulo\Model\Rule\Condition;
class Address extends \Magento\SalesRule\Model\Rule\Condition\Address
{
/**
* Load attribute options
*
* @return $this
*/
public function loadAttributeOptions(){$attributes = [
'base_subtotal' => __('Subtotal'),'total_qty' => __('Total Items Quantity'),'weight' => __('Total Weight'),'shipping_method' => __('Shipping Method'),'payment_method' => __('Payment Method'),'postcode' => __('Shipping Postcode'),'region' => __('Shipping Region'),'region_id' => __('Shipping State/Province'),'country_id' => __('Shipping Country'),];
$this->setAttributeOption($attributes);
return $this;
} } ?>

El resultado obtenido es el siguiente:

Fecha: 22 Jun 2018 13:10 Hrs.

Acerca del autor

Sombrero de paja molder