4

私は過去数か月間オンライン ストアを実装しており、paypal ペイメント プロ ゲートウェイのペイパルのサンドボックスに正常に接続しています。最初から問題なく動作しました。

週末以来、もう機能していません。ストアから次のエラーが表示されます。

    支払いゲートウェイの呼び出し中にエラーが発生しました

    トレースで次のエラーが表示されます。

    SSL/TLS セキュア チャネルを作成できませんでした

    ページ URL:/checkoutreview.aspx ソース:System.Web.Services メッセージ: 要求は中止されました: SSL/TLS セキュア チャネルを作成できませんでした。
  スタックトレース:
     System.Web.Services.Protocols.WebClientProtocol.GetWebResponse (WebRequest 要求) で
     System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse (WebRequest 要求) で
     System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (メソッド名の文字列、オブジェクト [] パラメーター) で
     C:\Development\Natrol\AspDotNetStorefront\ASPDNSFGateways\PayPalSvcAPIv30.cs:line 956 の AspDotNetStorefrontGateways.Processors.PayPalAPIAASoapBinding.DoDirectPayment(DoDirectPaymentReq DoDirectPaymentReq) で
     AspDotNetStorefrontGateways.Processors.PayPal.ProcessCard(Int32 OrderNumber、Int32 CustomerID、Decimal OrderTotal、ブール型 useLiveTransactions、TransactionModeEnum TransactionMode、アドレス UseBillingAddress、文字列 CardExtraCode、アドレス UseShippingAddress、文字列 CAVV、文字列 ECI、文字列 XID、文字列 & AVSResult、文字列 & AuthorizationResult、文字列 & AuthorizationCode で、C:\Development\Natrol\AspDotNetStorefront\ASPDNSFGatewayProcessors\GatewayPayPal\PayPal.cs:line 415 の String& AuthorizationTransID、String& TransactionCommandOut、String& TransactionResponse)
     C:\Development\Natrol\AspDotNetStorefront\ASPDNSFGateways\GatewayTransaction.cs:line 205 の AspDotNetStorefrontGateways.GatewayTransaction.CallGateway (文字列ゲートウェイ) で
     C:\Development\Natrol\AspDotNetStorefront\ASPDNSFGateways\GatewayTransaction.cs:line 176 の AspDotNetStorefrontGateways.GatewayTransaction.Process() で

ここで何が起こっているのですか?何が起こったのか、それを解決する方法はありますか? なぜ突然壊れるのですか?

ありがとう、マイケル

4

3 に答える 3

9

paypal_base.dll を使用している場合、変更する必要がある URL はその中に埋め込まれており、PayPal は (まだ) 新しい URL をリリースしていません。設定を上書きするには、web.config ファイルに以下を追加する必要があります。< configSections > に以下を追加します。

<section name="paypal" type="com.paypal.sdk.core.ConfigSectionHandler, paypal_base"/>

次に、次の < paypal > セクションを追加します。

<paypal>
    <endpoints>
      <wsdl>
        <environment name="live">
          <port name="PayPalAPI">https://api.paypal.com/2.0/</port>
          <port name="PayPalAPIAA">https://api-aa.paypal.com/2.0/</port>
          <port name="PayPalAPI" threetoken="true">https://api-3t.paypal.com/2.0/</port>
          <port name="PayPalAPIAA" threetoken="true">https://api-aa-3t.paypal.com/2.0/</port>
        </environment>
        <environment name="sandbox">
          <port name="PayPalAPI">https://api.sandbox.paypal.com/2.0/</port>
          <port name="PayPalAPIAA">https://api-aa.sandbox.paypal.com/2.0/</port>
          <port name="PayPalAPI" threetoken="true">https://api-3t.sandbox.paypal.com/2.0/</port>
          <port name="PayPalAPIAA" threetoken="true">https://api-3t.sandbox.paypal.com/2.0/</port>
        </environment>
      </wsdl>
    </endpoints>
  </paypal>

( https://www.x.com/developers/paypal/forums/paypal-sandbox/c-sdk-sandbox-three-token-endpointを参照)

于 2012-11-14T02:42:13.443 に答える
3

「署名」認証を使用している場合は、次のことが当てはまります。

ポイントは、数週間前にエンドポイントhttps://api.sandbox.paypal.com/2.0/が機能しなくなったことです。代わりにこれを使用する必要があります: https://api-3t.sandbox.paypal.com/2.0/

そのために、PayPal の SDK にある「paypal-endpoint.xml」でサンドボックスのエンドポイントを変更しました。SDK をダウンロードし、「paypal-endpoint.xml」を見つけ、Sandbox セクションを見つけて、アドレスを上記のものに変更します。次に、paypal_base.dll を再コンパイルして使用します

非常によく似たソリューションが投稿されていますが、XML は web.config: www で公開されています。バツ 。com/developers/paypal/forums/paypal-sandbox/c-sdk-sandbox-three-token-endpoint

Google for "PayPal endpoints" で現在の PayPal のエンドポイントに関する詳細情報を入手

于 2012-10-25T22:51:42.177 に答える
2

「証明書:認証?テスト時にローカルIPから実行している可能性がありますか?」ではなく、「署名」を使用していると思います。

ペイパル サンドボックス環境が混乱します :) (ペイパルからの公式の応答) いくつかの呼び出しで「証明書」を見たいと思っています。

APISignature 認証で .NET Paypal API SDK を使用しているインスタンスがあります。つまり、エンドポイント (.NET SDK バージョン 51) を変更する方法がなく、証明書がインストールされていません (署名認証では必要ありません)。プロファイルを作成する機能は、サンドボックス (CreateRecurringPaymentsProfile) では正常に機能しますが、トランザクション ルックアップ (TransactionSearch) を実行すると、「SSL/TLS セキュア チャネルを作成できませんでした」という結果になります。「ライブ」環境に移行すると、どちらも正常に動作します。

私たちが見つけた唯一の修正は、「証明書:認証、証明書をインストールする」に変更することです。これは、ロイヤル PITA です。

于 2012-09-26T15:24:49.220 に答える