I downloaded the Paypal SDK for C# and am trying to create a basic payment in my asp.net mvc app. I'm running the exact code mentioned in the paypal dev site, https://developer.paypal.com/webapps/developer/docs/api/#create-a-payment but am getting an error (stack trace below). I'm able to get an access token so I'm assuming the app is able to communicate with the endpoint, but not sure why it complains in the Payment.create method. This is the first time I'm using asp.net mvc so am a little confused about what I could be doing wrong and would really appreciate any help :)
My Web.config file has this section:
<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>
Stack trace:
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:
I worked a lot with PayPal and I found out hard way what the best way is using just their “REST” api (note the “”). I cannot post solution I made due to “not divulgation” agreement, but Trust me, just finish move SDK to trash and start with their POST api and “back POST” apis. It’s way simpler.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With