2012-09-13 5 views
5

Bis heute habe ich mit PayPal-Sandbox der Entwicklung des neuen PayPal PHP SDK, die vorkonfigurierte erfolgreich kommt diese Sandbox-URL zu verwenden:PayPal Sandbox API SSL Handshake-Fehler begann plötzlich mit PayPal PHP SDK?

https://api.sandbox.paypal.com/2.0/
(URL in Chrome zur Zeit zurückgibt: „Fehler 107 (net :: ERR_SSL_PROTOCOL_ERROR): SSL-Protokollfehler ")

Aber heute meine Webapp aufgrund eines SSL-Handshake-Fehler abstürzt. Uncaught exception 'PPConnectionException' with message 'error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure' in ./paypal-sdk-1.0.92/lib/PPHttpConnection.php:185

Das einzige Ereignis, das aufgetreten ist seit gestern (wenn mein Webapp letzter Arbeitstag) war, war ich setze meine Sandbox "selle r "Konto, das die API-Berechtigungsnachweise möglicherweise zurückgesetzt hat according to this post. Da ich die API-Berechtigungsnachweise manuell aktualisiert und ihre Richtigkeit überprüft habe, kann ich nicht sagen, ob sie jemals falsch waren.

Nach vielen Suchen fand ich andere Web-Artikel, die die URL sagen sollte:

https://api-3t.sandbox.paypal.com/2.0/
(URL in Chrome gibt eine SOAP-Antwort.)

Also änderte ich mein PayPal PHP SDK enthalten URL von https://api.sandbox.paypal.com/2.0/ bis https://api-3t.sandbox.paypal.com/2.0/ und es funktioniert wieder einwandfrei. Was ist hier passiert? Ist die Sandbox-URL "non 3t" jetzt einfach kaputt?

EDIT: Nach dem Feedback von @Win und @JoelP erhält ich eingereicht habe ein bug report through the PayPal SDK github so jemand bei PayPal kann erklären, was heute geändert und das SDK behebt die korrekte URL zu haben, wenn Signature Anmeldeinformationen.

EDIT 2:PayPal fixed the issue vor ein paar Tagen. Es wird in der nächsten Version verfügbar sein. https://github.com/paypal/SDKs/issues/22#issuecomment-8660682

Danke für die Hilfe alle.

Antwort

5

Unterschiede sind zwischen Certificate and Signature

enter image description here

Unterschrift der preferred way für den Zugriff auf PayPal-API ist.

+0

Ich sehe. Die verschiedenen URLs sind sinnvoll, erklären aber immer noch nicht, warum die ursprüngliche URL aus dem SDK bis heute funktioniert hat. Vielen Dank für die Bestätigung der korrekten Konfiguration. – jimp

+0

Wie die falsche URL überhaupt funktioniert hat, ist immer noch ein Rätsel, aber Ihre Informationen helfen mir, sie zu lösen und zu realisieren, dass ich das PayPal SDK Entwicklerteam informieren musste. – jimp

2

Ich kann die Frage nicht beantworten, aber ich kann sagen, dass ich gerade das gleiche Problem entdeckt habe. Ich bestätige, dass die Workaround von Jimp die SDK-Service-Endpunkt-Konfiguration zu ändern:

mein Problem gelöst. (Dies ist in der Paypal SDK config/sdk_config.ini Datei).

In meinem Fall verwende ich das PHP SDK. Ich habe an meinem Sandbox-Konto nichts geändert. Meine beste Vermutung ist, dass die ursprüngliche URL für eine Weile einfach nicht verfügbar ist. (Firefox zeigt die Warnung "Sichere Verbindung fehlgeschlagen").

+0

Vielen Dank für die Bestätigung. Ich habe gerade einen Fehlerbericht an das SDK-GitHub gesendet, sodass hoffentlich jemand bei PayPal das Problem beheben oder das SDK aktualisieren kann. Das neueste SDK verwendet immer noch die Nicht-URL "3t". – jimp

+0

Nur um einen kurzen Kommentar zu "(Firefox zeigt die Warnung" Secure Connection Failed ") hinzuzufügen."; Dies ist das erwartete Verhalten für die https://api.paypal.com/-Endpunkte. https://api.paypal.com/ erwartet ein Client-Zertifikat (API-Zertifikat), um die SSL-Kette zu vervollständigen. Ohne diese wird die SSL-Validierung fehlschlagen und somit einen Fehler zurückgeben. – Robert

4


Das Problem behoben ist und der Code gedrückt wurde Zweig zu meistern. Sie sollten die aktualisierten Bundles des SDKs in den nächsten Tagen auf x.com sehen.

Siehe GitHub Ausgabe hier https://github.com/paypalx/SDKs/issues/22

Danke, Prasanna.

+0

Danke. Ich bekam die E-Mail-Benachrichtigung darüber, und ich kam gerade zurück, um es zu posten. – jimp