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

时间:2013-10-12 20:40:27

标签: c# paypal paypal-rest-sdk

我正在Battle Hack London进行攻击,我遇到了一个烦人的问题。用于c#的PayPal SDK似乎不能正常工作。

我正在尝试进行我的第一笔交易,这是我的代码(我把它放在一起修复损坏的online docs

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

这导致

  

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

我追溯到this line of code,但我不知道如何正确配置该部分,我找不到正确的文档。

如何配置csharp REST SDK?

6 个答案:

答案 0 :(得分:8)

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

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

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

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

答案 1 :(得分:5)

我在PayPal开发人员的支持下完成了这项工作。需要补充一点:

<configSections>
  <section name="paypal" type="PayPal.Manager.SDKConfigHandler, PayPalCoreSDK"/>
</configSections>
<paypal>
  <accounts>
    <account apiUsername="xxx"
             apiPassword="yyy"
             applicationId="APP-80W284485P519543T"
             apiSignature="zzz"
             />
  </accounts>
  <settings>
    <add name="mode" value="sandbox"/>
  </settings>
</paypal>

其中xxxyyyzzz您是从主sandbox test account的“帐户详细信息”中获得的值。

答案 2 :(得分:2)

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

<configSections>
    <section name="paypal" type="PayPal.SDKConfigHandler, PayPal" />
</configSections>
<paypal>
    <settings>
       <add name="mode" value="sandbox" />
    </settings>
</paypal>

答案 3 :(得分:1)

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

-->

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

答案 4 :(得分:0)

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

如果您希望使用您的应用程序启用日志记录,则wiki还包含有关如何(可选)setup log4net配置信息的信息。

如果缺少任何信息或需要澄清,或者您想要求支持更多配置设置,请随时通过此处或on GitHub告知我们。

答案 5 :(得分:0)

var config = ConfigManager.Instance.GetProperties();

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

网络配置:

    <configuration>
  <configSections>
    <section name="paypal" type="PayPal.SDKConfigHandler, PayPal" />
  </configSections>

  <!-- PayPal SDK settings -->
  <paypal>
    <settings>
      <add name="mode" value="sandbox"/>
      <add name="clientId" value="_client_Id_"/>
      <add name="clientSecret" value="_client_secret_"/>
    </settings>
  </paypal>
</configuration>