Вопрос

Я использую класс SOAPClient PHP для подключения к PayPal. У меня есть ряд проблем:

  1. Параматеры, которые я передаю на мыльный звонок, 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 решить, когда он обновит его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top