Das neue PayPal-Modul einrichten

Thema wurde von Enrico Lukacs, 14. September 2015 erstellt.

  1. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Ich versuchs mal kurz in groben Worten. PayPal ist eine asynchrone Zahlweise, das heisst am Ende eines Bestellvorgangs eines Kunden ist noch lange nicht alles auf der Zahlungsseite fertig, die Zahlung kann und wird nachträglich nach der Bestellung ihren Status ändern. Damit muss man im Shop umgehen, und der Shop auch.

    Wenn sich der Status einer Zahlung bei PayPal ändert, versucht PayPal dem Shop das dann mitzuteilen. In älteren PayPal Modulen und Schnittstellen hiess das Thema mal IPN, der aktuelle Benachrichtigungsmechanismus heisst Webhooks. Bei Webhooks versucht PayPal an eine URL, die per https erreichbar sein muss (meint ein Shop braucht zwangsweise ein SSL-Zertifikat damit das klappt) eine entsprechene Nachricht abzusetzen.

    Diese Nachricht an den Shop ist etwas maschinelles. Computer-untereinander-Kauderwelsch. Diese Nachricht hat eine Art Prüfsumme, mit der geschaut werden kann ob die Nachricht im Shop intakt angekommen ist, das ist der HMAC-Mechanismus. Wenn also so eine HMAC-Meldung kommt heisst das der Shop hat von PayPal eine Nachricht zu irgendeiner Bestellung bekommen, diese konnte aber nicht verarbeitet werden weil PayPal genuschelt hat, der Shop nicht richtig zugehört oder unterwegs ein Kabel einen Wackelkontakt hat. Was davon genau passiert ist, weiss man erstmal nicht.

    Fakt ist: normal sollte es da genau 0 Fehler geben. In letzter Zeit nuschelt PayPal anscheinend öfter mal, wie ich heute erfahren hab. Marco hatte da früher Fälle auf dem Tisch als ich, hab ich heute auch erst gelernt. Wir sehen uns das an und finden raus was da los ist, dann sehen wir weiter :)
     
  2. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Nachtrag zu Wilkens ansonsten korrekter Erklärung: Fehlschlagende HMAC-Prüfungen sind vor allem deshalb nicht weiter wild, weil der Shop diese Webhook-Benachrichtigungen sowieso nur als ein Anstupsen versteht, das er zum Anlass nimmt, Daten ggf. eigeninitiativ von PayPal zu holen. Eine Webhook-Benachrichtigung kann allein nie mehr bewirken als einen Eintrag in der Bestellstatushistorie und allerhöchstens noch einen Statuswechsel der Bestellung. Der für euch letztlich allein entscheidungsrelevante Block mit den PayPal-Daten auf der Bestelldetailseite wird völlig unabhängig von Webhooks von PayPal geholt.
     
  3. frankburek

    frankburek Aktives Mitglied

    Registriert seit:
    24. September 2014
    Beiträge:
    38
    Danke erhalten:
    0
    Danke vergeben:
    11
    Hallo Wilken, beim PayPalPlus wird der Kunde nach Auswahl von PayPal bereits auf der Seite "Zahlungsinformationen" auf PayPal umgeleitet. Wir haben einen Rabattcode getestet, der ja erst auf der letzten Seite (Bestätigungsseite) angezeigt wird.

    Wir haben folgendes Problem: Der Kunde wird zu PayPal wie o.g. weitergeleitet. In PayPal wird ihm der Betrag OHNE Rabatt(code) angezeigt! Hier würde ich jetzt abbrechen, weil das so ja nicht stimmen kann. Zum Test habe ich auf weiter geklickt, konnte das Bankkonto auswählen und danach wurde ich wieder zum Shop, aber jetzt erst auf die Bestätigungsseite zurück geleitet. Dort wie üblich, wurde der eigentliche Zahlbetrag inkl. Rabatt(code) angezeigt und ich konnte auf "Kostenbpflichtig bestellen" klicken!

    Hier würde ich mich wieder fragen: Bestelle ich erst jetzt?

    Abgebucht wurde der Zahlbetrag inklusive Rabatt(code). Das war soweit richtig.

    Frage: Was muss ich einstellen, damit der Bestellprozess (rechtlich) korrekt abläuft? Ich nehme an, dass wenn der Kunde erst nach dem Klick auf "Kostenpflichtig bestellen" dann auch in PayPal den richtigen Zahlbetrag angezeigt bekommt.

    Ich habe die Zahlungsweise wieder deaktiviert!
    PS. Ich hatte auch die alte PayPal Zahlungsweise noch aktiviert. Hat es damit was zu tun?
     
  4. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
    Das ist ablaufbedingt derzeit nicht anders möglich. Den Zahlbetrag manipulierende Zusammenfassungsmodule wirken erst auf der Bestellzusammenfassungsseite. Für PayPal Plus muss der Login bei PayPal aber vor dem Klick auf den "kostenpflichtig bestellen" Button erfolgen. Wir können das kurzfristig nicht ändern und sind weitestgehendst sicher kein rechtliches Problem auszulösen, dennoch verstehe ich natürlich deinen Punkt. Wir werden das mittelfristig lösen, brauchen dazu aber einen grossflächigen Umbau des Checkouts der vorraussichtlich in 2016 veröffentlicht werden wird, die Baustelle ist alles andere als klein.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    6. November 2013
    Beiträge:
    384
    Danke erhalten:
    20
    Danke vergeben:
    103
    Nuschelt PayPal noch immer oder muss ich bei mir nach dem Fehler suchen ? Ich bekomme derzeit bei jeder PayPal Bestellung den HMAC Fehler und der Bestellstatus wird nicht umgestellt.

    Ich habe die Benachrichtigungen neu eingerichtet nachdem ich den Shop auf SSL umgestellt hatte. Den Link habe ich geprüft und er ist fehlerfrei durchgelaufen.
     
  6. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Die HMAC-Warnung kannst du weitestgehend ignorieren. Die Gültigkeit des HMAC-Wertes bestimmt derzeit nur, ob die Warnung angezeigt wird, andere Auswirkungen hat das nicht.

    Unabhängig davon verändern Webhook-Benachrichtigungen vorläufig nicht den Bestellstatus. Das ist kein Fehler, sondern so beabsichtigt, weil das Webhooks-Feature seitens PayPal noch etwas im Fluss ist und wir „wunderliche“ Verhaltensweisen des Shopsystems vermeiden möchten. – Darüber hinaus gibt es noch das Problem, dass einer Bestellung mehrere PayPal-Zahlungen zugeordnet sein können (z.B. via PayPal-Link) und es dann zu widerstreitenden Statusänderungen durch Benachrichtigungen mit Bezug auf unterschiedliche Zahlungen kommen kann.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    6. November 2013
    Beiträge:
    384
    Danke erhalten:
    20
    Danke vergeben:
    103
    OK :) Ich werde es ignorieren :) Danke :)