Frage

Ich bin mit Soapclient Klasse PHP paypal zu verbinden. Ich habe eine Reihe von Problemen:

  1. Die Paramater ich die Seife Anruf passieren sind array('ReturnAllCurrencies'=>0, 'Version'=>'63.0') aber wie Sie in der Anfrage weiter unten sehen können, ist 63.0 in <param1> setzen, was auch immer das ist. Ich weiß nicht einmal ReturnAllCurrencies in der Anfrage sehen.

In dieser Anfrage Ich bin ein GetBalance Befehl ausführen:

<?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>

fand ich die Anfrage oben über Soapclient :: __ getLastRequest (). Es ist nicht exacly aussehen wie das Beispiel auf der PayPal-Website. Was ist mit dem GetBalanceReq-Tag? Warum muss es die * Anf Suffix?

2. Wenn die Produktionsserver und WSDL-Dateien verwenden, ich einen PHP-Fehler:

  

SOAP-ERROR: Parsing WSDL:   Konnte nicht geladen werden aus   ‚ https://www.paypal.com/wsdl/PayPalSvc.wsdl';   : Geplanter Start-Tag, '<'   nicht gefunden

Außerdem, wenn ich versuche, die Produktion Zertifikat url in FireFox zu besuchen ( https://api.paypal.com /2.0/ ) I get a ssl_error_handshake_failure_alert

Soll ich die WSDL-Datei und zeigen Sie auf einer lokalen Version im ersten Argument von Soapclient :: __ construct oder bin ich einfach zu Punkt auf die Kopie gehostet paypal soll herunterladen? Ich nahm ursprünglich die letztere, aber jetzt bin ich nicht sicher,

Keine korrekte Lösung

Andere Tipps

Zum einem "ReturnAllCurrencies" sollte ein String sein, nicht eine ganze Zahl. Außerdem müssen Sie die GetBalanceRequestType Felder in einem GetBalanceRequest Element für sie zur Arbeit wickeln. Für weitere Informationen in Bezug auf den ersten Teil Ihrer Frage zusammen mit einer Arbeitslösung, schau mal hier:

einfaches PHP Soapclient Beispiel für paypal benötigt

Der zweite Teil Ihrer Frage klingt wie ein vorübergehendes Problem mit der Paypal-Infrastruktur. Am günstigsten ist es nicht zu einer lokalen Kopie der WSDL zu verwenden, aber WSDL-Caching zu aktivieren und lassen PHP entscheiden, wann es zu aktualisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top