PayPal SoapClient не работает
-
29-09-2019 - |
Вопрос
Я использую класс SOAPClient PHP для подключения к PayPal. У меня есть ряд проблем:
- Параматеры, которые я передаю на мыльный звонок,
array('ReturnAllCurrencies'=>0, 'Version'=>'63.0')
Но, как вы можете видеть в запросе ниже,63.0
положено<param1>
Что бы это ни было. Я даже не вижу reetwayallsCurrens в запросе.
В этом запросе я выполняю 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>
Я нашел запрос выше через SoapClient :: __ getLastrequest (). Это не выглядит как пример на веб-сайте PayPal. Что с GetBalanceReq
ярлык? Почему у него есть суффикс * req?
2. При использовании файлов производства и WSDL я получаю ошибку PHP:
SOAP-Error: Parsing WSDL: не удалось загрузить из 'https://www.paypal.com/wsdl/paypalsvc.wsdl '; : Начните тег ожидается, «<» не найден
Кроме того, если я пытаюсь посетить URL-адрес сертификата производства в Firefox (https://api.paypal.com/2.0/) Я получаю ssl_error_handshake_failure_Alert
Я должен загрузить файл WSDL и указывать на локальную версию в первом аргументе SOAPCLIENT :: __ CONGRAGE или AM я просто должен указывать на размещенную копию PayPal? Я изначально предположил последний, но теперь я не уверен
Нет правильного решения
Другие советы
Во-первых, «ReturnallSallCurns» должен быть строкой, а не целым числом. Кроме того, вам нужно обернуть поля GetBalancerequestType внутри элемента GetBalancerequest для его работы. Для получения дополнительной информации о первой части вашего вопроса вместе с рабочим решением, посмотрите здесь:
Простой пример PHP SOAPClient для PayPal требуется
Вторая часть вашего вопроса звучит как временная проблема с инфраструктурой PayPal. Лучшая практика - не использовать локальную копию WSDL, но включить WSDL кэширование и позволить PHP решить, когда он обновит его.