Der Login der Sandbox URL ist https://www.sandbox.paypal.com/
Mit dem Händler Account habe ich einen Sandbox Buy Now Button erzeugt und der "normale" Sandbox Benutzer hat dann auf diesen Button geklickt. Meinen IPN Listener habe ich als Azure HTTP Function in der Microsoft Cloud implementiert. Mit Hilfe der beiden Sandbox Accounts konnte ich dann überprüfen, ob mein Listener angesprochen wurde und ob er die IPN Nachricht richtig verarbeitet. Die Aktivierung von IPN für ein Händlerkonto kann unter https://www.sandbox.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-ipn-notify für die Sandbox vorgenommen werden.
Genau genommen passiert beim Austausch der Nachricht folgendes:
PayPal schickt nach Eingang der Zahlung eine Nachricht mit einem Haufen Formulardaten an meinen Listener. Ich nehme diese Daten und schicke sie an PayPal zurück. Damit soll sichergestellt werden, daß die Nachricht wirklich von PayPal kommt. PayPal antwortet darauf mit einen einfachen VERIFIED oder INVALID und schon kann ich die entsprechende email an den Kunden rausschicken.