Ошибка недоступности сервера при вызове Payment.Create в PayPal sdk

Я загрузил SDK Paypal для С# и пытаюсь создать базовый платеж в моем приложении asp.net mvc. Я использую точный код, упомянутый в сайте dev, https://developer.paypal.com/webapps/developer/docs/api/#create-a-payment, но я получаю сообщение об ошибке (трассировка стека ниже). Я могу получить токен доступа, поэтому я предполагаю, что приложение может общаться с конечной точкой, но не уверен, почему оно жалуется в методе Payment.create. Это первый раз, когда я использую asp.net mvc, поэтому немного запутался в том, что я могу сделать неправильно, и буду очень признателен за любую помощь:)

В моем файле Web.config указан этот раздел:

  <paypal>
    <settings>
      <add name="endpoint" value="https://api.sandbox.paypal.com" />
      <add name="connectionTimeout" value="360000" />
      <add name="requestRetries" value="1" />
      <add name="ClientID" value="xyz" />
      <add name="ClientSecret" value="abc" />
    </settings>
  </paypal>

Трассировка стека:

PayPal.Exception.PayPalException was unhandled by user code   HResult=-2146233088   Message=Exception in HttpConnection Execute: Invalid HTTP response The remote server returned an error: (503) Server Unavailable.   Source=PayPalCoreSDK   StackTrace:
       at PayPal.PayPalResource.ConfigureAndExecute[T](Dictionary`2 config, IAPICallPreHandler apiCallPreHandler, HttpMethod httpMethod, String resourcePath)
       at PayPal.PayPalResource.ConfigureAndExecute[T](APIContext apiContext, HttpMethod httpMethod, String resource, String payload)
       at PayPal.Api.Payments.Payment.Create(APIContext apiContext)
       at PayPal.Api.Payments.Payment.Create(String accessToken)
       at Requext.Controllers.EventController.CreatePayment() in c:\Users\Ishan\Source\Repos\requext.com\Requext\Controllers\EventController.cs:line 169
       at Requext.Controllers.EventController.Test() in c:\Users\Ishan\Source\Repos\requext.com\Requext\Controllers\EventController.cs:line 95
       at lambda_method(Closure , ControllerBase , Object[] )
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
       at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41()
       at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult
_)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
       at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33()
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() InnerException: PayPal.Exception.ConnectionException
       HResult=-2146233088
       Message=Invalid HTTP response The remote server returned an error: (503) Server Unavailable.
       Source=PayPalCoreSDK
       Response=""
       StackTrace:
            at PayPal.HttpConnection.Execute(String payLoad, HttpWebRequest httpRequest)
       InnerException:

Ответ 1

Я много работал с PayPal, и я обнаружил, что лучший способ использует только их "REST" api (обратите внимание на ""). Я не могу опубликовать решение, которое я сделал из-за соглашения "не разглашения", но поверьте мне, просто закончите перемещение SDK в корзину и начните с их POST-апи и "назад POST". Его путь проще.