Post by pprmkr » Sat Aug 13, 2011 3:18 pm

De betaalmethode Contant bij afhalen ( Cash on Pickup ).

Hierbij zit een aangepaste controller checkout/payment.php!

Want het probleem wat zich voordoet:
- Klant kiest niet Ophalen in winkel, maar een andere verzendoptie
- Vervolgens voor Contant bij afhalen

Je kunt niet het pakketje op de post doen en wachten dat de klant komt het verschuldigde bedrag te voldoen!

Daarom:
- Check in controller checkout/payment.php welke verzendoptie is geselecteerd
- Combinatie cop tegen andere dan pickup genereert json-error
Image

Een andere mogelijke combinatie is Onder rembours betalen bij Ophalen in winkel
- Combinatie cod tegen pickup genereert json-error
Image

In het archief :
- Nieuwe Extensie cop
- Aangepaste controller/checkout/payment.php met taalbestanden language/dutch/checkout/payment.php en language/english/checkout/payment.php

Misschien is er een andere manier dan core bestanden aan te passen?
Ik heb geprobeerd in model/payment/cop.php de check op gekozen verzendoptie toe te passen, maar moest daarvoor de pagina opnieuw laden voordat de beschikbare betaalopties juist getoond werden.

Ik ben benieuwd hoe jullie het opgelost hebben ...

Attachments

Contant bij afhalen met aangepaste corefiles !


User avatar
Active Member

Posts

Joined
Sat Jan 08, 2011 11:05 pm
Location - Netherlands

Post by i2Paq » Sat Aug 13, 2011 3:43 pm

Kijk eens naar: Ship 2 Pay.

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by pprmkr » Sat Aug 13, 2011 6:58 pm

i2Paq wrote:Kijk eens naar: Ship 2 Pay.
Ik heb het doorgelezen en catalog/model/cop.php uitgebreid met:

Code: Select all

		if ($this->session->data['shipping_method']['id'] != 'pickup.pickup') {
			$status = false;			
		}
NB: Gewijzigde code vanaf 1.5

Code: Select all

		if ($this->session->data['shipping_method']['code'] != 'pickup.pickup') {
			$status = false;			
		}
Helaas moet de pagina opnieuw worden geladen voordat status van de module veranderd, afhankelijk van de in de sessie opgeslagen gekozen verzendoptie.
Middels Ajax werkt ( bij mij, standaard installatie 1.5.1 ) deze controle niet.

Vandaar mijn hack in de core bestanden ...
Last edited by pprmkr on Sat Aug 13, 2011 8:11 pm, edited 1 time in total.

User avatar
Active Member

Posts

Joined
Sat Jan 08, 2011 11:05 pm
Location - Netherlands

Post by i2Paq » Sat Aug 13, 2011 7:38 pm

Er is in dat topic een link naar een commerciële oplossing, deze zal begin volgende week geschikt zijn voor 1.5.1.x

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by pprmkr » Sun Aug 14, 2011 8:29 pm

Na verder testen liep ik tegen het volgende probleem aan:

Klant bestelt een Cadeaubon, welke niet verstuurd wordt. Dus er worden geen verzendmethodes geladen.
Contant bij afhalen en onder rembours moeten dus ook niet worden geladen.

In model/payment/cop.php en cod.php de volgende regel toegevoegd:

Code: Select all

if ( !$this->cart->hasShipping()) $status = false;
Tevens de Betaling onder rembours gekoppeld aan Nederland Pakket Rembours ( Post NL v 1.5.1.1 ) door in controller/checkout/payment.php in plaats van te testen op pickup.pickup:

Code: Select all

if 	($this->request->post['payment_method'] == 'cod' && ( isset($this->session->data['shipping_method']['code']) && $this->session->data['shipping_method']['code'] != 'postnl.postnl_nl_rembours' )){

Attachments

Compleet archief met de aangepaste bestanden


User avatar
Active Member

Posts

Joined
Sat Jan 08, 2011 11:05 pm
Location - Netherlands

Post by burley » Wed May 09, 2012 7:32 pm

Ik heb min of meer hetzelfde nodig en heb dan ook je bestanden gedownload en geinstalleerd. Echter wel op versie 1.5.2.1, ik krijg de genoemde opties niet te zien. Heeft dit te maken met het versie verschil?

De postnl module werkt wel gewoon overigens.

User avatar
Active Member

Posts

Joined
Sun Oct 09, 2011 3:30 pm

Post by pprmkr » Thu May 10, 2012 4:46 am

Inderdaad verschil in beide versies:
In 1.5.1.3 was het catalog/controller/checkout/payment.php, in de nieuwe versie is het catalog/controller/checkout/payment_method.php

Bijlage is het archief met de aangepaste bestanden.

User avatar
Active Member

Posts

Joined
Sat Jan 08, 2011 11:05 pm
Location - Netherlands

Post by burley » Thu May 10, 2012 6:47 pm

top ga ze gelijk installeren!!!

edit:

geinstalleerd, het werkt inderdaad. Maar moet ik nog wat anders doen? Ik kan nu als betaalmethode wel rembours aanklikken, maar deze komt niet terug in mijn verzendopties. Ook niet via postnl module.

Of mis ik wat?

User avatar
Active Member

Posts

Joined
Sun Oct 09, 2011 3:30 pm

Post by pprmkr » Thu May 10, 2012 9:10 pm

Gebruik als verzendmethode PostNL
Vink ook aan Rembours

Klanten kunnen nu ook kiezen voor Betalen bij aflevering

In Orders zie je de gekozen Betaal en verzend methode terug.
cop_cod.jpg

cop_cod.jpg (13.97 KiB) Viewed 2175 times


User avatar
Active Member

Posts

Joined
Sat Jan 08, 2011 11:05 pm
Location - Netherlands
Who is online

Users browsing this forum: No registered users and 22 guests