3. Schritt Zahlen mit Kreditkarte: Bitte alle Felder richtig ausfüllen!

Hallo,

wir verwenden die Community Edition 4.4.3_30016 und haben leider ein großes Problem bei der Zahlung mit Kreditkarte.

Im 3. Schritt ist die Checkbox "Kreditkarte"aktiviert. Als Karte haben wir sowohl Mastercard als auch VISA mal ausprobiert.

Wie in unserer Zahlungsschnittstelle (siehe hier http://www.sichere-zahlungsmodule.de/out/pictures/wysiwigpro/vr_handbuch_oxid.pdf) angegeben verwenden wir diese Testdaten:

Kartennummer: 4111111111111111 (testweise auch 4111 1111 1111 1111)
Kartenprüfnummer: frei wählbar (dreistellig) (bspw.123)
Verfalljahr: frei wählbar (bspw.01/2016)

Beim Klick auf “Weiter zum nächsten Schritt” bleiben wir im 3. Schritt und erhalten diese Meldung:

Bitte alle Felder richtig ausfüllen!

Ich habe diesen Bug https://bugs.oxid-esales.com/view.php?id=2066 gefunden und daraufhin unter Stammdaten | Grundeinstellungen | Bestellungen | [X] Kreditkarten-Information speichern

aktiviert. Leider hat das auch nichts gebracht:-(

Kann uns bitte jemand weiterhelfen? Im voraus schon mal herzlichen Dank :slight_smile:

Hallo bxnew,

die Kreditkarten-Daten sollten/dürfen nicht im Shop gespeichert werden. Dies würde ich wieder deaktivieren. (Stichwort PCI)

Hast Du mal das Log-Level auf 2 für iVrPayLogType gestellt?

Ja, ich muss das wieder deaktivieren.

Ich bin auch einen Schritt weiter. Die Kreditkartenvalidierung lieferte immer false zurück, das habe ich mal testweise und vorübergehend auf immer true gesetzt, bis ich in die Tiefen der Kreditkartenvalidierung abtauche und die Fehlermeldung auch spezifischer machen. Die Fehlermeldung ist nämlich irreführend, weil man ja alle Felder ausgefüllt hat, aber die KK-Daten nicht stimmen!

public function isValidCard( $sNumber, $sType = “”, $sDate = “” )
{
// cleanup
$sNumber = preg_replace( “/[^0-9]/”, “”, $sNumber );

    // Dangerous always return true for testing!!
    return true;
    
    return ( !$this->_isExpired( $sDate ) && $this->_isValidType( $sType, $sNumber ) && $this->_isValidNumer( $sNumber ) );
}

Hallo Zusammen,

hm…
stehe vor demselben Problem.
Hast du es lösen können, bzw. einen Ansatz zur Lösung gefunden?

Hab die Foren, google bemüht und den Code durchforstet…

[QUOTE=bxnew;54490]Ja, ich muss das wieder deaktivieren.

Ich bin auch einen Schritt weiter. Die Kreditkartenvalidierung lieferte immer false zurück, das habe ich mal testweise und vorübergehend auf immer true gesetzt, bis ich in die Tiefen der Kreditkartenvalidierung abtauche und die Fehlermeldung auch spezifischer machen. Die Fehlermeldung ist nämlich irreführend, weil man ja alle Felder ausgefüllt hat, aber die KK-Daten nicht stimmen!

public function isValidCard( $sNumber, $sType = “”, $sDate = “” )
{
// cleanup
$sNumber = preg_replace( “/[^0-9]/”, “”, $sNumber );

    // Dangerous always return true for testing!!
    return true;
    
    return ( !$this->_isExpired( $sDate ) && $this->_isValidType( $sType, $sNumber ) && $this->_isValidNumer( $sNumber ) );
}[/QUOTE]