Paypal c#REST API要求提供未记录的配置部分

我正在努力攻击伦敦Battle Hack ,我偶然发现了一个恼人的问题。 用于c#的PayPal SDK似乎不能正常工作。

我正在尝试做我的第一笔交易,这是我的代码(我把它放在一起修复破坏的在线文档 :

var tokenCredential = new OAuthTokenCredential(something, someother); var accessToken = tokenCredential.GetAccessToken(); Payment createdPayment = new Payment { intent = "sale", transactions = new List { new Transaction { amount = new Amount { total = value.ToString("R"), currency = "GBP" }, description = forWhat } } }.Create(accessToken); 

这导致了

无法解析* .Config文件。 确保您已正确配置’paypal’部分。

我已经追溯到这行代码,但我不知道如何正确配置该部分,我找不到正确的文档。

如何配置csharp REST SDK?

我遇到了同样的错误。 我尝试过Skliwz的解决方案,但它对我不起作用。

相反,我能够通过调用传递字典对象来获得结果。

 Dictionary payPalConfig = new Dictionary(); payPalConfig.Add("mode", "sandbox"); OAuthTokenCredential tokenCredential = new AuthTokenCredential("myCliedId", "myClientSecret", payPalConfig); string accessToken = tokenCredential.GetAccessToken(); 

仍在努力让我的登录工作……

我在PayPal开发人员的支持下完成了这项工作。 需要添加:

  

其中xxxyyyzzz是您从主沙箱测试帐户的“帐户详细信息”中获得的值。

如果您使用的是PayPal .Net SDK(我的版本是1.3.0),您只需要以下内容:

  

如果您像我一样,并且不想将客户端信息存储在* .config文件(web.config,app.config)中,我发现您可以在字典中指定它,您必须传入到OAuthTokenCredential并分配给APIContext.Config(工作的关键):

 var clientId = "___REPLACE_WITH_CLIENTID___"; var clientSecret = "___REPLACE_WITH_CLIENTSECRET___"; var sdkConfig = new Dictionary { { "mode", "sandbox" }, { "clientId", clientId }, { "clientSecret", clientSecret } }; var accessToken = new OAuthTokenCredential(clientId, clientSecret, sdkConfig).GetAccessToken(); var apiContext = new APIContext(accessToken); apiContext.Config = sdkConfig; 

似乎有点多余,必须将其传递到OAuthTokenCredential并将其设置为apiContext.Config,但这对我有用。

仅供将来参考,现在可以在SDK的GitHub wiki上提供PayPal .NET SDK的可用配置设置。 这包括有关所有支持的PayPal配置设置及其默认值的信息。

如果您希望使用您的应用程序启用日志记录,该Wiki还包括有关如何(可选)在配置中设置log4net的信息。

如果缺少任何信息或需要澄清,或者您想要请求支持更多配置设置,请不要犹豫,在这里或GitHub告诉我。

 var config = ConfigManager.Instance.GetProperties(); // Use OAuthTokenCredential to request an access token from PayPal var accessToken = new OAuthTokenCredential(config).GetAccessToken(); 

网络配置: