1

PayPal の API の使用に問題があります。SetExpressCheckout メソッドを呼び出そうとすると (例と同じ項目/クラスを追加したと思います)、次のエラーが発生します。

The type initializer for 'PayPal.Manager.ConfigManager' threw an exception.

与えられた内部例外は次のとおりです。

{"Cannot read config file"}

私の PayPal API 呼び出しメソッドは 1 つのアセンブリにあり、PayPal API を使用するためにこのアセンブリのメソッドを呼び出す Web サービスがあります。簡単に言えば、次のように機能します。

Web Service ---calls---> Assembly ---calls---> PayPal API

なぜこれが起こるのか誰か知っていますか?サンプルプロジェクト内ではどのように機能するのか、私自身のプロジェクト内では機能しないのか、本当に困惑しています。

4

1 に答える 1

3

これに対する答えはまだ表示されておらず、MVC3.NetアプリケーションにPayPalAPIを実装すると同じエラーが発生したため、次のことがうまくいきました。これは、PayPalAPIサンプル.NetプロジェクトWeb.Configから直接取得されます。

Web.Configファイルの上部(最初の子要素として)に、次のように参照を追加します。

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

次に、PayPalSDKConfigを追加します

<paypal>
  <settings>
    <!-- The URL that the user must be redirected to in order to login and approve some payment actions-->
    <add name="paypalUrl" value="https://www.sandbox.paypal.com/webscr?cmd="/>
    <!-- The API endpoint -->
    <add name="endpoint" value="https://api-3t.sandbox.paypal.com/2.0"/>
    <!-- Connection timeout in milliseconds -->
    <add name="connectionTimeout" value="360000"/>
    <!-- The number of times a request must be retried if the API endpoint is   unresponsive -->
    <add name="requestRetries" value="3"/>
    <add name="binding" value="SOAP"/>
    <add name="IPAddress" value="127.0.0.1"/>
    <!-- 
      API version number. You will not normally have to change this unless you
      have a specific need to work with an older version of the API
     -->
    <add name="APIVersion" value="84.0"/>
  </settings>

  <accounts>
    <!--
      Add API credentials - 3 token or client certificate.
      You can add multiple account credentials here. The SDK will pick the first   account
      unless you specifically request an account in the service wrapper mehod.
    -->
    <account apiUsername="sdk-three_api1.sdk.com" apiPassword="QFZCWN5HZM8VBG7Q"
        apiSignature="A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU"   applicationId="APP-80W284485P519543T"/>
    <!--
    <account apiUsername="enduser_biz_api1.gmail.com" apiPassword="SACH3VA3C29DXGUG"
      apiCertificate="<Absolute path to paypal_cert.p12>" 
             privateKeyPassword="password" applicationId="APP-80W284485P519543T"/>
     -->           
  </accounts>
</paypal>
于 2012-09-23T04:09:44.537 に答える