PayPal SOAP API - 不支持版本

时间:2011-06-29 11:10:21

标签: c# soap paypal

我使用.Net和Visual Studio 2010。

我下载了WSDL并更正了maxOccurs error,将WSDL添加为Web引用工作正常。

调用SetExpressCheckout时会出现问题。错误只是说,版本不受支持。我检查了WSDL的版本,即76.0 - 并且应该是正确的AFAIK。

正在使用的Web服务端点是:https://api.sandbox.paypal.com/2.0/

我是否需要指定版本,或者使用的服务端点是否错误?

1 个答案:

答案 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并不总是在他们的环境中运行相同的版本。