Płatność przy odbiorze
Do realizacji funkcjonalności płatności przy odbiorze polecamy wykorzystanie bardzo dobrego modułu: Cash on delivery stworzonego przez firmę Phoenix. Moduł w większości przypadków rozwiązuje nasze problemy w 100%, jednak czasami chcemy wykorzystać go jednocześnie jako płatność za pobraniem i płatność przy odbiorze w sklepie.
Istnieje na to prosty i niezawodny sposób, konfigurujemy nasz odbiór osobisty jako freeshipping_freeshipping. Następnie odszukujemy plik:
app/code/community/Phoenix/CashOnDelivery/ModelCashOnDelivery.php
a w nim w okolicach linii 61
zmienimy
public function getAddressCosts(Mage_Customer_Model_Address_Abstract $address){
if ($address->getCountry() == Mage::getStoreConfig('shipping/origin/country_id')) {
return $this->getInlandCosts();
} else {
return $this->getForeignCountryCosts();
}
}
na
public function getAddressCosts(Mage_Customer_Model_Address_Abstract $address){
if ($address->getCountry() == Mage::getStoreConfig('shipping/origin/country_id')) {
if(Mage::getSingleton('checkout/session') ->getQuote() ->getShippingAddress() ->getShippingMethod() == "freeshipping_freeshipping")
return 0;
else
return $this->getInlandCosts();
} else {
if(Mage::getSingleton('checkout/session') ->getQuote() ->getShippingAddress() ->getShippingMethod() == "freeshipping_freeshipping")
return 0;
else
return $this->getForeignCountryCosts();
}
}
Dzięki temu od teraz jeżeli klient wybierze odbiór osobisty to za płatność przy odbiorze nie zostanie obciążony dodatkowymi kosztami. Dla każdej innej formy dostawy system doliczy mu koszta ustawione w konfiguracji modułu.

