2

エクスプレス チェックアウトに問題があります。Web で提供されているすべてのソリューションを試しましたが、うまくいきません。Web および ASP.NET に VB 2012 を使用しています。Web サイトにカートを作成し、PayPal Express Checkout を統合しようとしました (今のところ、Sandbox のテスト アカウントを使用しています)。PayPal ボタンをクリックすると、次のエラーが表示されます。

10001 内部エラー: タイムアウト処理要求

アプリケーションをデバッグすると、彼が電話をかけようとしたときに問題が発生することがわかりました。

Try
    Using myWriter As New StreamWriter(objRequest.GetRequestStream())
          myWriter.Write(strPost)
    End Using
Catch e As Exception
End Try

strPost は次のとおりです。

METHOD=SetExpressCheckout&RETURNURL=http%3a%2f%2flocalhost%3a63223%2fCheckout%2fCheckoutReview.aspx&CANCELURL=http%3a%2f%2flocalhost%3a63223%2fCheckout%2fCheckoutCancel.aspx&BRANDNAME=PayPal+Sample+Application&PAYMENTREQUEST_0_AMT=36&PAYMENTREQUEST_0_ITEMAMT=36&PAYMENTREQUEST_0_PAYMENTACTION=Sale&PAYMENTREQUEST_0_CURRENCYCODE=USD&L_PAYMENTREQUEST_0+_NAME=Modena&L_PAYMENTREQUEST_0_AMT=36&L_PAYMENTREQUEST_0_QTY=1&USER=minni_1356740302_biz_api1.gmail.com&PWD=1356740320&SIGNATURE=AlYEmGf5ECuFHhwJgGlXJ.tMCTY0AFMcAx3nUjv6Ssg4RlD7YYwyoOJb&VERSION=88.0&BUTTONSOURCE=PP-ECWizard

何が間違っている可能性がありますか?

私は本当に助けが必要です..どんな助けも大歓迎です. 前もって感謝します!

4

1 に答える 1

4

このエラーは、単に PayPal サンドボックス サーバーに問題があることを意味するか、リクエストに問題があることを意味している可能性があります。ただ、先ほど SetExpressCheckout でサンドボックスにヒットできたので、あなたのリクエストに何か関係があるのではないかと推測しています。

すぐにわかることの 1 つは、ReturnURL と CancelURL で localhost を使用できないということです。これは、使用される時点で PayPal のサーバーから実行されるためです。そのため、「localhost」はあなたのサーバーではなく、彼らのサーバーになり、リダイレクトは機能しません。独自のパブリック IP アドレスを使用するか、何らかのドメインをセットアップして、テスト サーバーを指すようにする必要があります。それは彼らのサーバーが気に入らないことかもしれません。

私が気付いたもう 1 つのことは、金額に値 36 を使用していることです。PayPal のドキュメントでは、金額の値には小数点以下 2 桁を使用する必要があると規定されているため、必ず 36.00 を渡す必要があります。

次に気付くのは、おそらくあなたの問題の原因ですが、パラメーター名の 1 つが無効であるということです: [L_PAYMENTREQUEST_0+_NAME]

そこから + を取得する必要があります。これで問題は解決すると思いますが、他の問題も解決します。

于 2012-12-30T09:56:52.297 に答える