2016-07-11 13 views
0

私はPaypalエクスプレスチェックアウトを実装しようとしており、上記のエラーを受け続ける。Paypalエクスプレスチェックアウト:エラー10001タイムアウト

METHOD=SetExpressCheckout& 
VERSION=204.0& 
USER=mylogicn& 
PWD=mypwd& 
SIGNATURE=mysignature& 
PAYMENTREQUEST_0_AMT=26.65& 
PAYMENTREQUEST_0_CURRENCYCODE=GBP& 
RETURNURL=https://www.example.com/Basket/NotificationProcessor.ashx?type=paypalsuccess& 
CANCELURL=https://www.example.com/Basket/NotificationProcessor.ashx?type=paypalfailure& 
PAYMENTREQUEST_0_PAYMENTACTION=Sale 

を明らかに変化し、特定の情報を次のように

私NVです。 私は特にリクエストに間違ったものは見つけられませんが、必ずタイムアウト処理要求で10001を返します。

私は、ここにいる誰かがこれに直面して解決策があることを期待しています。

EDIT:ここ が要求を一緒に入れて、レスポンスを取得するコードです:

string[][,] nv = new string[11][,] 
{ 
    new string[,]{{"METHOD", "SetExpressCheckout" }}, 
    new string[,]{{"VERSION", "204.0" }}, 

    new string[,]{{"USER", "myuser"}}, 
    new string[,]{{"PWD", "mypwd"}}, 
    new string[,]{{"SIGNATURE","mysig"}}, 

    new string[,]{{"PAYMENTREQUEST_0_AMT", "26.65"}}, 
    new string[,]{{"PAYMENTREQUEST_0_CURRENCYCODE","GBP"}}, 

    new string[,]{{"RETURNURL", "https://www.example.com/Basket/NotificationProcessor.ashx?type=paypalsuccess"}}, 
    new string[,]{{"CANCELURL", "https://www.example.com/Basket/NotificationProcessor.ashx?type=paypalfailure"}}, 

    new string[,]{{"PAYMENTREQUEST_0_PAYMENTACTION", "Sale"}}, 
    new string[,]{{"NOSHIPPING", "1"}}, 
}; 
string q = "?"; 
foreach(string[,] s in nv) 
{ 
    q += s[0,0] + "=" + s[0,1] + "&"; 
} 
q = q.TrimEnd('&'); 
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://api-3t.sandbox.paypal.com/nvp" + q); 
req.Method = "POST"; 

HttpWebResponse response = (HttpWebResponse)req.GetResponse(); 
var encoding = ASCIIEncoding.ASCII; 
if (response.StatusCode == HttpStatusCode.OK) 
{ 
    using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding)) 
    { 
     string response = reader.ReadToEnd(); 
    } 
} 

そしてPaypals応答:

TIMESTAMP=2016%2d07%2d11T11%3a10%3a55Z& 
CORRELATIONID=dcd0f848a9bb9& 
ACK=Failure& 
L_ERRORCODE0=10001& 
L_SHORTMESSAGE0=Internal%20Error& 
L_LONGMESSAGE0=Timeout%20processing%20request 
+0

回答全体を確認していますか? –

+0

私の質問を編集して、要求を構築するコードと受け取った応答を組み込むようにしました。 – user2078816

答えて

0

エラー10001には、より良いエラーはありませんを意味し、未処理の例外であります利用可能なメッセージ。 PayPalのdocumentation

1としてあなたはペイパルへの要求と デコード中のすべての要求フィールド値応答内のすべてのフィールドの値をエンコードする必要があり

。 個々の値をエンコードしてデコードする必要があります。 メッセージ全体をエンコードまたはデコードしないでください。 ブラウザは多くの場合、 にリダイレクトされたメッセージをエンコードおよびデコードしようとします。ただし、エンコーディングと のデコードが正しく行われ、フィールド値のみであることを確認する必要があります。

エンコードによって発生する可能性があります。それを取り除き、役立つかどうか確認してください。

0

問題はPOSTを使用していました。 req.Method = "POST"を削除するだけで問題は解決しました。

関連する問題