PAYONE-GmbH / magento-2

PAYONE Payment Extension for Magento 2
28 stars 59 forks source link

Fehlerhaftes Mapping der Kreditkartentypen #391

Closed codebase-md closed 2 years ago

codebase-md commented 3 years ago

Hallo zusammen,

einer unserer Kunden hat uns gemeldet, dass unter den Zahlungsinformationen(in der Ansicht einer Bestellung) für Bestellungen die mit Kreditkarte getätigt wurden, der Kreditkartentyp nicht angezeigt wird. Nach kurzer Fehlersuche habe ich feststellen können, dass das Mapping nicht korrekt ausgeführt wird.

Bsp Visa Bestellung:

Die Api liefert als Kreditkartentyp ein 'V' zurück! Im folgenden Code Snippet wird das Mapping durchgeführt:

Datei: \Payone\Core\Block\Info\Creditcard Zeile 39-46:

protected function getCreditcardType($sShortType)
{
    $aTypes = CreditcardTypes::getCreditcardTypes();
    if (array_key_exists($sShortType, $aTypes) !== false) {
        return $aTypes[$sShortType]['name'];
    }
    return '';
}

Hier sieht man, dass das Mapping via Array Key vollzogen wird. Allerdings sieht das Array folgendermaßen aus:

Datei: \Payone\Core\Model\Source\CreditcardTypes Zeile 41-49:

protected static $aTypes = [
    'visa'              => array('name' => 'Visa',                  'cardtype' => 'V', 'cvc_length' => 3),
    'mastercard'        => array('name' => 'Mastercard',            'cardtype' => 'M', 'cvc_length' => 3),
    'americanexpress'   => array('name' => 'American Express',      'cardtype' => 'A', 'cvc_length' => 4),
    'dinersclub'        => array('name' => 'Diners Club',           'cardtype' => 'D', 'cvc_length' => 3),
    'jcb'               => array('name' => 'JCB',                   'cardtype' => 'J', 'cvc_length' => 3),
    'maestroint'        => array('name' => 'Maestro International', 'cardtype' => 'O', 'cvc_length' => 3),
    'cartebleue'        => array('name' => 'Carte Bleue',           'cardtype' => 'B', 'cvc_length' => 3),
];

Da der Array Key hier 'visa' ist und nicht 'V' wird kein Kreditkartentyp angezeigt.

Gruß

berwa commented 3 years ago

Hallo @codebase-md, vielleicht vorneweg: ich kein Mitarbeiter von Payone, sondern auch nur ein Nutzer der Extension. Wir hatten allerdings in einer Reihe unserer Projekte das selbe Problem (neben dem Backend u.a. auch in den E-Mails) und hatten dazu auch schon einen Pull-Rquest eingereicht (https://github.com/PAYONE-GmbH/magento-2/pull/368/files). Dieser wurde damals auch bereits gemerged, leider ist das Ganze aber bisher nicht Teil eines Releases. Wir patchen uns die entsprechende Stelle seit dem immer Projekt-spezifisch.

Beste Grüße

hreinberger commented 3 years ago

Hi zusammen,

das geplante Release hat sich aus Gründen™ immer weiter verzögert. Wir sind aber dran, hier demnächst eine neue Version zu releasen.