J'utilise la classe SoapClient de PHP pour se connecter à paypal. J'ai un certain nombre de problèmes:paypal SoapClient ne fonctionne pas
- Les paramaters je passe à l'appel de savon sont
array('ReturnAllCurrencies'=>0, 'Version'=>'63.0')
mais comme vous pouvez le voir dans la demande ci-dessous,63.0
est mis en<param1>
tout ce qui est. Je ne vois même pas ReturnAllCurrencies dans la requête.
Dans cette demande je joue une commande GetBalance
:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:ebay:api:PayPalAPI" xmlns:ns2="urn:ebay:apis:eBLBaseComponents">
<SOAP-ENV:Header>
<ns1:RequesterCredentials>
<ns2:Credentials>
<ns2:Username>xxxx</ns2:Username>
<ns2:Password>xxx</ns2:Password>
<ns2:Signature>xxx</ns2:Signature>
</ns2:Credentials>
</ns1:RequesterCredentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetBalanceReq/>
<param1>63.0</param1>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Je trouve la demande ci-dessus via SoapClient :: __ getLastRequest(). Il ne ressemble pas exactement à l'exemple sur le site paypal. Qu'y a-t-il avec l'étiquette GetBalanceReq
? Pourquoi at-il le suffixe * Req?
2.Quand en utilisant les fichiers du serveur de production et wsdl, je reçois une erreur php:
SOAP-ERROR: Parsing WSDL: Couldn't load from ' https://www.paypal.com/wsdl/PayPalSvc.wsdl' ; : Start tag expected, '<' not found
En outre, si je tente de visiter l'URL du certificat de production dans FireFox (https://api.paypal.com/2.0/) Je reçois un ssl_error_handshake_failure_alert
Suis-je censé télécharger le fichier wsdl et pointer vers une version locale dans le premier argument de SoapClient :: __ construct ou suis-je simplement supposé pointer vers la copie paypal hébergée? J'ai initialement supposé ce dernier, mais maintenant je ne suis pas sûr