0

Ich arbeite auf einer Website, wo ein Benutzer für Produkte zu einem anderen Benutzer bezahlen kann, der Benutzer, der bezahlt wird hat seine API Signature gesetzt und die Zahlung erfolgt mit ExpressCheckout (NVP) (der Zahler wird nur umgeleitet auf eine PayPal-Seite, wo er sich bei Bedarf anmeldet und nur auf einen Button klickt, um zu bezahlen).Verwendung von PayPal Webhooks mit NVP DoExpressCheckoutPayment

Das Problem ist, habe ich versucht, mit Webhooks Rückerstattungen für diese Zahlungen zu verfolgen, so kann ich später die Rückerstattungsdaten in meine Datenbank über Callback URL (PHP-Funktion) einfügen, aber die URL ich habe nicht aufgerufen alles (Ich habe zuvor ein Ereignis auf der gleichen URL simuliert und alles war in Ordnung).

Ich versuche, dies zur Arbeit zu bringen, indem ich meine API Signature und einen Freund von mir ein paar Cent (über DoExpressCheckoutPayment) setzen, nach denen ich sie ihm zurückerstatte (keine Anrufe, nur über die PayPal-Website).

Außerdem wird auf der Sandbox-Webhooks-Ereignisseite oder auf der Live-Seite nichts angezeigt. Ich habe versucht, andere Ereignisse wie "Zahlungserfassung abgeschlossen" oder "Zahlungsverkauf abgeschlossen" in meinem Webhook zu registrieren, aber mit dem gleichen Ergebnis.

Muss ich einige Einstellungen in meinem Konto ändern? Ich habe eine REST-API-App erstellt, um Webhooks zu verwenden, aber ich habe gesehen, dass es eine Option für NVP/SOAP-API-Apps gibt. Ich habe IPN erwogen, wenn Webhooks nicht funktionieren.

+0

Können Sie uns Ihren Code zeigen? –

+0

Ich kann Ihnen die ersten Zeilen vor jeder Validierung zeigen: '$ body = file_get_contents ('php: // input'); $ post = json_decode ($ body); ' Ich füge' json_encode ($ post) 'in meine Datenbank ein, es funktioniert für die Simulation. – glavata

Antwort

1

"Webhooks" werden mit der REST-API verwendet. Express Checkout verwendet IPN.

Sie müssen einen separaten Listener für IPN einrichten, der dem ähnlich ist, was Sie mit Webhooks in der REST-API getan haben.