Jump to content

[SOLVED] Aangepaste "Onder Rembours" module


Recommended Posts

Versie 1.4.6.2

 

Omdat wij voor onze shop een webwinkel keurmerk willen dragen moeten we een "achteraf" betaal mogelijkheid bieden. Dit is overigens wettelijk ook verplicht, echter wordt er niet gehandhaafd door de overheid, maar dat ter zijde. Hoe dan ook hebben wij gekozen voor "rembours betalen". Dit wordt ook als achteraf betalen gezien. Echter deze betaalservice van postnl is relatief duur en daarom willen we een gedeelte door berekenen aan de klant.

 

Nou hebben we een oplossing gevonden door dit "static" aan te passen in het volgende bestand.

 

../modules/cashondelivery/validation.php

 

 

We dachten dat er misschien meer mensen zijn die hierin geinteresseerd zijn, vandaar mede ook deze post.

 

Eigenlijk hebben voor een hele simpele oplossing gevonden door het bedrag dat we door willen berekenen toe te voegen, toch hebben we nog te maken met een fout.

 

Het is namelijk zo dat de order in de BO binnenkomt met de status betalingsfout. De waarschuwing die wordt gegeven is dat het betaalde bedrag hoger is dan order bedrag. met andere woorden het bedrag dat we er bij op tellen (als voorbeeld hieronder inde code 5,95) wordt niet bij het order bedrag opgeteld en dat geeft een fout. Dit is ook heel duidelijk te zien in prestashop binnen de order. Ook als je een factuur aanmaakt dan zie dat het rembours bedrag er niet bij opgeteld is. Wij willen dus ofwel de rembours kosten bij het totale bedrag optellen, of het separaat vermelden op de factuur. Dit laatste lijkt me aardig wat aanpassingen.

 

Weet iemand hoe dit bedrag wel binnen de order opgeteld kan worden? Eventueel separaat vermelden binnen de order en factuur?

 

Hieronder de aangepaste code:

 

 

/* Validate order */

if (Tools::getValue('confirm'))

{

$customer = new Customer((int)$cart->id_customer);

$total = $cart->getOrderTotal(true, Cart::BOTH) + 5.95;

$cashOnDelivery->validateOrder((int)$cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $cashOnDelivery->displayName, NULL, array(), NULL, false, $customer->secure_key);

$order = new Order((int)$cashOnDelivery->currentOrder);

Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)($cart->id).'&id_module='.(int)$cashOnDelivery->id.'&id_order='.(int)$cashOnDelivery->currentOrder);

}

else

{

/* or ask for confirmation */

$smarty->assign(array(

'total' => $cart->getOrderTotal(true, Cart::BOTH) + 5.95,

'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/cashondelivery/'

));

 

$smarty->assign('this_path', __PS_BASE_URI__.'modules/cashondelivery/');

$template = 'validation.tpl';

echo Module::display('cashondelivery', $template);

}

 

Alvast mijn dank voor de reacties.

Edited by impressed (see edit history)
Link to comment
Share on other sites

×
×
  • Create New...