我使用.Net和Visual Studio 2010。
我下载了WSDL并更正了maxOccurs error,将WSDL添加为Web引用工作正常。
调用SetExpressCheckout时会出现问题。错误只是说,版本不受支持。我检查了WSDL的版本,即76.0 - 并且应该是正确的AFAIK。
正在使用的Web服务端点是:https://api.sandbox.paypal.com/2.0/
我是否需要指定版本,或者使用的服务端点是否错误?
答案 0 :(得分:1)
如果有人遇到同样的问题,您需要指定版本:
PayPalAPIAASoapBinding api = new PayPalAPIAASoapBinding();
// Service Provider's API Credentials
api.RequesterCredentials = new CustomSecurityHeaderType();
api.RequesterCredentials.Credentials = new UserIdPasswordType();
api.RequesterCredentials.Credentials.Username = this.Username;
api.RequesterCredentials.Credentials.Password = this.Password;
api.RequesterCredentials.Credentials.Signature = this.ApiSignature;
// The merchant's PayPal e-mail address (3rd party authentication)
api.RequesterCredentials.Credentials.Subject = this.CustomerId;
SetExpressCheckoutReq req = new SetExpressCheckoutReq();
req.SetExpressCheckoutRequest = new SetExpressCheckoutRequestType();
req.SetExpressCheckoutRequest.SetExpressCheckoutRequestDetails = new SetExpressCheckoutRequestDetailsType();
req.SetExpressCheckoutRequest.Version = "74.0";
目前Sandbox的运行速度为v 74.0,生产速度为76.0。 PayPal并不总是在他们的环境中运行相同的版本。