Ich nutze PayPals IPN, um Zahlungen zu empfangen und zu verarbeiten, und speichere die Transaktions-ID als Referenz.Wie erhalten Sie den PayKey von einer Transaktions-ID?
Die Zeit ist gekommen, um Zahlungen durch das System, das ich entwickle, zurückzuzahlen, und hier liegt der Kampf.
Wenn ein transactionId in das payKey Feld in einem aktualisierten PHP SDK, Details der korrekten Authentifizierung auf die GetPaymentDetails.php
Probe unter Verwendung der Eingabe und Anwendungs-ID, die ich erhalte:
Error ID: 580022
Domain: PLATFORM
Severity: Error
Category: Application
Message: Invalid request parameter: payKey with value [REMOVED (transactionId)]
Parameter: Array
Dies ist verständlich, da es ein erwartetes wird PayKey. Jetzt kann ich die $pdRequest->payKey = $payKey;
zu $pdRequest->transactionId = $payKey;
gemäß der Spezifikation ändern. Dies sollte nun die transactionId als transactionId und Arbeit schicken, aber ich habe diese als Antwort:
Error ID: 520002
Domain: PLATFORM
Severity: Error
Category: Application
Message: Internal Error
Ok, so gebrochen etwas ist. Ich vermute, dass sie transactionId nicht als Referenz verwenden und ihre Dokumentation nicht aktualisiert haben (typisch). Der Grund, warum ich das vermute, ist, dass das ursprüngliche SDK, das ich verwendet habe, ein Feld für transactionId, sowie trackingId und einen anderen Bezeichner enthielt. Aber jetzt fragt das aktualisierte SDK nur nach dem PayKey.
Jetzt bin ich fest. Ich habe tausende Live-Transaktions-IDs gesammelt. Weißt du, wie ich einen PayKey für jede Transaktion bekommen oder das ursprüngliche Problem beheben kann?
Dank
Mehr Info:
Hier sind die HTTP-Header gesendet:
X-PAYPAL-SECURITY-SIGNATURE: [removed]
X-PAYPAL-SECURITY-USERID: [removed]
X-PAYPAL-SECURITY-PASSWORD: [removed]
X-PAYPAL-APPLICATION-ID: [removed]
X-PAYPAL-REQUEST-SOURCE: PHP_SOAP_SDK_V1.4
X-PAYPAL-DEVICE-IPADDRESS: 127.0.0.1
X-PAYPAL-MESSAGE-PROTOCOL: SOAP11
X-PAYPAL-REQUEST-SOURCE: PHP_SOAP_SDK_V1.4
Und hier ist der Inhalt
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><PaymentDetailsRequest>
<requestEnvelope>
<errorLanguage>en_US</errorLanguage>
</requestEnvelope>
<transactionId>[removed]</transactionId>
</PaymentDetailsRequest></soap:Body>
</soap:Envelope>
Um
https://svcs.paypal.com/AdaptivePayments/PaymentDetails
Können Sie Ihre NVP-Zeichenfolge teilen? Achten Sie darauf, die Anmeldeinformationen zu löschen. Ich verwende die API, um Rückerstattungen von einem System auszugeben, das ich entwickelt habe (ohne ihr SDK zu benutzen), und ich verwende auch die transactionID. –
Ich denke, ich fügte hinzu, was Sie an den Hauptpost –
Da gehen wir, der Inhalt :) –