2013-01-30 2 views
1

Я застрял, и мне нужно, чтобы кто-то указал мне в правильном направлении.PayPal SetExpressCheckoutReq> ​​Не удается подключиться к удаленному серверу

Отлично работает на локальном хосте, но не удается, когда я нажимаю тестовую версию сайта в нашем центре обработки данных (с настройками песочницы). Я использую версию SDK версии 2.1.96 для C#. Есть идеи?

Благодаря

Конечная точка: https://api-3t.sandbox.paypal.com/2.0/

Когда я пытаюсь проверить на сервере центра обработки данных, я получаю:

System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 
A connection attempt failed because the connected party did not properly respond after a period of time, 
or established connection failed because connected host has failed to respond 173.0.82.83:443 
    at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) 
    at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, 
IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) 
    --- End of inner exception stack trace --- 
    at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) 
    at System.Net.HttpWebRequest.GetRequestStream() 
    at PayPal.APIService.MakeRequestUsing(IAPICallPreHandler apiCallHandler) 
    at PayPal.BasePayPalService.Call(IAPICallPreHandler apiCallHandler) 
    at PayPal.PayPalAPIInterfaceService.PayPalAPIInterfaceServiceService.SetExpressCheckout(SetExpressCheckoutReq setExpressCheckoutReq, String apiUserName) 
    at PayPalSetCheckoutModel.SetExpressCheckoutPP() in PayPal\PayPalCheckoutModel.cs:line 301 

Связанного pertinant кода (прямо из образца в SDK): // Вызов API

SetExpressCheckoutReq wrapper = new SetExpressCheckoutReq(); 
wrapper.SetExpressCheckoutRequest = checkoutRequest; 
PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(); 
SetExpressCheckoutResponseType setECResponse = service.SetExpressCheckout(wrapper); 

Запрос будет отправлен (из моего локального хоста) выглядит следующим образом:

<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns=\"urn:ebay:api:PayPalAPI\" xmlns:ebl=\"urn:ebay:apis:eBLBaseComponents\" xmlns:cc=\"urn:ebay:apis:CoreComponentTypes\" xmlns:ed=\"urn:ebay:apis:EnhancedDataTypes\"> 
    <soapenv:Header> 
    <ns:RequesterCredentials> 
    <ebl:Credentials> 
     <ebl:Username>sandboxseller_1358951631_biz_api1.domain.com</ebl:Username> 
     <ebl:Password>0000000000</ebl:Password> 
     <ebl:Signature>xxxx</ebl:Signature> 
    </ebl:Credentials> 
    </ns:RequesterCredentials> 
</soapenv:Header> 
<soapenv:Body> 
    <ns:SetExpressCheckoutReq> 
    <ns:SetExpressCheckoutRequest> 
     <ebl:Version>94.0</ebl:Version> 
     <ebl:SetExpressCheckoutRequestDetails> 
      <ebl:ReturnURL>https://localhost/Checkout/PayPalComplete</ebl:ReturnURL> 
      <ebl:CancelURL>https://localhost/Checkout/PayPalCancel</ebl:CancelURL> 
      <ebl:ReqConfirmShipping>0</ebl:ReqConfirmShipping> 
      <ebl:NoShipping>1</ebl:NoShipping> 
      <ebl:AddressOverride>0</ebl:AddressOverride> 
     <ebl:cpp-header-image>https://www.cloudfront.net/logo.jpg</ebl:cpp-header-image> 
     <ebl:SolutionType>Sole</ebl:SolutionType> 
     <ebl:BuyerEmail>[email protected]</ebl:BuyerEmail> 
     <ebl:AllowNote>0</ebl:AllowNote> 
     <ebl:BrandName>Domain.com</ebl:BrandName> 
     <ebl:PaymentDetails> 
     <ebl:OrderTotal currencyID=\"USD\">27</ebl:OrderTotal> 
     <ebl:ItemTotal currencyID=\"USD\">27</ebl:ItemTotal> 
     <ebl:Custom>42289</ebl:Custom> 
     <ebl:InvoiceID>100029</ebl:InvoiceID> 
     <ebl:PaymentDetailsItem> 
      <ebl:Name>Item Name</ebl:Name> 
      <ebl:Amount currencyID=\"USD\">27</ebl:Amount> 
      <ebl:ItemCategory>Digital</ebl:ItemCategory> 
     </ebl:PaymentDetailsItem> 
     <ebl:PaymentAction>Sale</ebl:PaymentAction> 
     </ebl:PaymentDetails> 
    </ebl:SetExpressCheckoutRequestDetails> 
    </ns:SetExpressCheckoutRequest> 
</ns:SetExpressCheckoutReq> 

ответ

3

Похоже, что может быть проблемой брандмауэра.

Я бы поинтересовался, можете ли вы посмотреть https://api-3t.sandbox.paypal.com/2.0/ в браузере от компьютера центра обработки данных и получить тот же результат, что и с, скажем, с вашего ноутбука. Следующее, что нужно проверить, является ли порт 443 доступным в качестве маршрута из машины центра обработки данных.

+0

me> лицоpalm. не думал об этом, и это не проблема fw, но, похоже, какая-то сетевая проблема. Благодарю. Иногда я просто теряюсь в лесу ... –

Смежные вопросы