我为C#下载了Paypal SDK,并尝试在我的asp.net mvc应用程序中创建基本付款。我正在运行paypal开发站点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:
答案 0 :(得分:1)
我在PayPal上做了很多工作,我发现了最好的方法是使用他们的“REST”api(注意“”)。 我不能发布由于“非泄密”协议而制作的解决方案,但请相信我,完成将SDK移到垃圾箱并开始使用他们的POST api和“返回POST”api。这样更简单。