0

ich die offiziellen Dokumentationen über das IPN hier lesen: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/Ausführen der dritten Stufe von Paypal IPN auf Lambda Architektur

Dann merke ich, dass:

Das IPN Nachricht Authentifizierungsprotokoll aus vier Schritten besteht:

  1. PayPal HTTPS POSTs eine IPN-Nachricht an Ihre Zuhörer, dass es eines Ereignisses benachrichtigt.
  2. Ihr Listener gibt eine leere HTTP 200-Antwort an PayPal zurück.
  3. Ihr Listener HTTPS sendet die vollständige, unveränderte Nachricht an PayPal zurück; > Die Nachricht muss die gleichen Felder (in der gleichen Reihenfolge) wie die ursprüngliche Nachricht enthalten und auf die gleiche Weise wie die ursprüngliche Nachricht codiert sein.
  4. PayPal sendet ein einzelnes Wort zurück - entweder VERIFIED (wenn die Nachricht dem Original entspricht) oder INVALID (wenn die Nachricht nicht mit dem Original übereinstimmt).

Auf meinem aktuellen Lambda-Endpunkt, die ich als IPN verwendet benachrichtigen URL i die Schritte tun kann, 1 und 2. Aber wie soll ich die Schritte 3 und 4 tun, wenn ich ein 200 mit einer Rückkehr muß leerer Körper davor?

+0

Es scheint, Sie müssen PayPal URL für 3 von Ihrem Lambda oder einige wo in Ihrem Code, nicht wahr? – kosa

+0

@Nambari Also Schritte 3 und 4 sind vor Schritt 2 getan? – vyscond

+0

Ich habe keine Erfahrung aus erster Hand mit diesem, aber basierend auf den beschriebenen Schritten 2- bestätigt nur, dass PayPal POST wurde von Ihrem Zuhörer empfangen (erfolgreich, was 200 Codes bedeutet), ich bin mir nicht sicher, was passiert zwischen 2 & 3, aber 3- ist, wo Ihr Hörer Daten über einen anderen POST-Anruf an Paypal zurücksendet. 4 - Hier bestätigt PayPal die Transaktion. Das ist mein Verständnis. – kosa

Antwort

0

Ich gehe davon aus, dass Paypal erwartet, dass Schritt 2 vor den Schritten 3 und 4 stattfindet. Dies kann nicht mit nur einer Lambda-Funktion erreicht werden.

Sie können die Listener-Lambda-Funktion verwenden, um die Payload als Nachricht an SNS zu übergeben und eine andere Lambda-Funktion aufzurufen, wenn das SNS-Thema eine Nachricht empfangen hat.

Weitere Details finden Sie unter Invoking Lambda functions using Amazon SNS notifications.