0

SetExpressCheckOut からトークンと payerID を取得した後、実際にユーザーからお金を取得しようとしています。

paypal 関数ウィザードによって生成されたコードを使用して、ConfirmPayment 関数を呼び出しています。

問題は、関数が正常に呼び出され、ユーザーからの支払いを処理することですが、タイムアウト エラーを受け取りました。だから私は彼らのお金を受け取り、ユーザーはタイムアウトページを取得します。顧客を維持する最善の方法ではありません。

The operation has timed out

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Net.WebException: The operation has timed out

Source Error: 

Line 313:
Line 314:        //Retrieve the Response returned from the NVP API call to PayPal
**Line 315:        HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();**
Line 316:        string result;
Line 317:        using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))

Paypal 関数の HTTPCall 関数に起因する 315 行目でタイムアウトが発生します。

public string HttpCall(string NvpRequest) //CallNvpServer { string url = pendpointurl;

    //To Add the credentials from the profile
    string strPost = NvpRequest + "&" + buildCredentialsNVPString();
    strPost = strPost + "&BUTTONSOURCE=" + HttpUtility.UrlEncode( BNCode );

    HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
    objRequest.Timeout = Timeout;
    objRequest.Method = "POST";
    objRequest.ContentLength = strPost.Length;
    //Retrieve the Response returned from the NVP API call to PayPal
    **HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();** (Line 315)
    string result;
    using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
    {
        result = sr.ReadToEnd();
    }

    return result;
}

これはおそらく Paypal のサーバーに問題があると思いますが、どちらにしても機能せず、稼働するとユーザーを怒らせるでしょう。突然タイムアウトになる理由がわかりましたか?前に SetExpressCheckOut で同じ HTTPCall が使用され、正常に動作します。

4

1 に答える 1

0

ページのタイムアウトを指示する変数が paypalfunctions.cs にあるようです。5000 に設定されていましたが、ページの読み込みに 5 秒以上かかってタイムアウトしていたため、単純に 50000 に上げました。

于 2012-10-11T13:14:12.007 に答える