serveur: Windows Server 2012 Cold Fusion: 9,0,1,274733 Mise à jour niveau: hf901-00011.jar Fonctionnant sur la version java: 1.7. 0_79 La maison de Java pointe vers le bon chemin.ColdFusion9: Impossible de se connecter à PayPal Sandbox (NVP classique)
Tous les certificats (pour live et sandbox) sont importés dans le magasin de clés de ce JDK 1.7.0_79. Je l'ai testé et renommer le fichier cacerts entraîne une erreur lors de la connexion à l'API live.
Le test du fichier cacerts à l'aide de l'outil keytool indique que les certificats appropriés sont correctement importés.
Une petite application de commande fournit le paiement en utilisant PayPal.
La première étape est une connexion à PayPal en utilisant la méthode "setExpressCheckout". La connexion à l'API active à l'aide de NVP à l'adresse URL https://api-3t.paypal.com/nvp fonctionne et transmet la chaîne d'URL de jeton. La connexion à l'API Sandbox à l'aide NVP à l'adresse https://api-3t.sandbox.paypal.com/nvp échoue avec la réponse d'erreur:
I/O Exception: peer not authenticated
Connection Failure
Unable to determine MIME type of file.
Connection Failure. Status code unavailable.
Appeler l'URL https://api-3t.sandbox.paypal.com/nvp des travaux du serveur.
Essai 1
- importé le certificat de bac à sable pour api-3t.sandbox.paypal.com
- restart test de connexion de service CF
- a échoué avec la même erreur
Test 2
- rebaptisés le fichier cacerts à cacerts.bak
- copié le fichier cacerts de jre1.8.0_31 \ lib \ security au 1.7.0_79 \ lib \ security
- il n'y a pas cert PayPal spécifique dans le fichier cacerts
- redémarrer le service CF
- connexion vivre API fonctionne connexion
- à api sandbox échoue avec la même erreur
la chose étrange est que le c La connexion à l'API en direct fonctionne sans importer le certificat spécifique dans le fichier de clés lors de l'utilisation du fichier cacerts 1.8xx.
Je n'arrive pas à comprendre pourquoi la connexion au bac à sable échoue. Peut-être que je peux obtenir de nouveaux indices ici? S'il y a plus d'informations nécessaires s'il vous plaît faites le moi savoir. Merci d'avance.
J'ai reçu des notifications de PayPal qu'ils vont désactiver les chiffrements TLS 1.1 et plus anciens (le 01/09/2017 je pense). Peut-être que le sandbox a déjà désactivé les anciens chiffrements et que le JRE que vous utilisez échoue car il n'utilise pas TLS 1.2. Cet article peut avoir de meilleures infos: https://superuser.com/questions/747377/enable-tls-1-1-and-1-2-for-clients-on-java-7 –
@Scott merci. J'étudie maintenant la session sortante en utilisant -Djavax.net.debug = tous dans les arguments de démarrage de la JVM. Peut-être que votre réponse me mène dans une meilleure direction. –
Notez également que la méthode d'intégration NVP/SOAP de Paypal Express Checkout est obsolète à compter du 1er janvier 2017, ce qui pourrait expliquer pourquoi le sandbox ne fonctionne plus (j'utilise TLS 1.2 et ne peux toujours pas me connecter) –