Shopsystem ShopPilot

ShopPilot => Shopbetrieb => Thema gestartet von: dobra am Juli 20, 2012, 15:38:38

Titel: Paymorrow im alternativen Bestellablauf
Beitrag von: dobra am Juli 20, 2012, 15:38:38
Hallo,

im alternativen Bestellablauf werden ja die Zahloptionen eingeblendet, die für die Lieferzone zulässig sind.
Paymorrow können aber nur Kunden verwenden, die in DE wohnen UND die Lieferadresse in DE ist.

Ein Kunde mit Rechnungadresse AT und Lieferzone DE bekommt also PM als Zahloption, darf das aber nicht verwenden.

Die Lösung:

<!--spmacro:module(Callback)
sub exclude_zahlart {
use URI::Escape;
my %cartdata = ();
my $stored = ssp::cart_read_var('_st2');
foreach my $elem (split(/&/, $stored)) {
    my ($key, $val) = split(/=/, $elem);
    $cartdata{$key} = uri_unescape($val);
}

my $lkz = ssp::get_var_form('LKZ');
my $llkz = $cartdata{'LLKZ'};
if ($lkz eq $ssp::undefined) {
    $lkz = $cartdata{'LKZ'};
}
if ($lkz ne "DE - Deutschland" || $llkz ne "DE - Deutschland") {
return 4; # ID für "PM"
}
}
-->
(Danke ahe für den Code)

if ($lkz ne "DE - Deutschland" || $llkz ne "DE - Deutschland")
und
return 4; # ID für "PM"
muss entsprechend dem Zahlart-Eintrag im WC angepasst werden.

Das Callback in stdall.ipl oder sonst in jede einzelne Zahlartvorlage schreiben.

P.S.: wenn jemand das Formular für altorder_step4.html aus dem Demo-Styleshop kopiert:
Bei
<!--Kreditkarte-->
  <input type="hidden" value="__ KGesellschaft__" name=" KGesellschaft" />
  ...
müssen die Leerzeichen raus, sonst kann der Kunde die Bestellung bei Kreditkartenzahlung nicht absenden.

__   KGesellschaft__  ->  __KGesellschaft__
"   KGesellschaft"  ->  "KGesellschaft"