Salve a tutti,
esiste la possibilita di decidere che tipo di pagamento sia possibile a secondo dell'articolo su Magento 1.8.1?
Vorrei offrire il pagamento in contrassegno solo su alcuni articoli e su altri no....
Intercettando l'evento payment_method_is_active puoi disabilitare un metodo di pagamento durante il checkout;
ecco un esempio di observer:
<?php
class Aleron75_Paymentcheck_Model_Observer
{
/**
* @event payment_method_is_active
*/
public function checkPayment(Varien_Event_Observer $event)
{
/** @var StdClass $result */
$result = $event->getResult();
/** @var Mage_Payment_Model_Method_Abstract $methodInstance */
$methodInstance = $event->getMethodInstance();
/** @var Mage_Sales_Model_Quote $quote */
$quote = $event->getQuote();
// assegnare il valore di $canUseCashondelivery a seconda della logica desiderata
$canUseCashondelivery = false;
if ($methodInstance->getCode() == 'cashondelivery' && $canUseCashondelivery) {
$result->isAvailable = false;
}
}
}
devi valorizzare la variabile $canUseCashondelivery andando a cercare nel $quote se sono presenti o meno articoli che non permettono questo tipo di pagamento;
se non usi il contrassegno di Magento ma un altro metodo devi sostituire la stringa 'cashondelivery' con il codice del metodo di pagamento specifico; lo trovi nel relativo model.
Un saluto