【解決方法】エラーコード400の解決方法、 "1 つ以上の検証の問題"

プログラミングQA


こんにちは、
支払い API を修正しようとしていますが、1 つ以上の検証の問題があることを示す 400 エラー メッセージが表示されます。 私の間違いは何ですか?
以下は私のコードです。

var client = new RestClient("https://sandbox-api-d.squadco.com/transaction/initiate");
            
            var keyValues = new Dictionary<string, string>
                            {
                                { "amount", 10000},
                                { "email" , abc@mail.com},
                                { "currency", "NGN"},
                                { "initiate_type", "inline"},
                                { "transaction_ref" , 34532756YT},
                                { "callback_url", "https://samplesite.com"}                        
                            };
            
            string JsonBody = JsonConvert.SerializeObject(keyValues);

            var request = new RestRequest();
            request.Method = Method.Post;
            request.AddHeader("Authorization", "sandbox_sk_3fae7c45922315aa8cb2a16db028f50a596d5fbdf351");
            request.AddHeader("Content-Type", "application/json");
            request.AddParameter("application/json", JsonBody, ParameterType.RequestBody);
            RestResponse response = client.Execute(request);

私が試したこと:

郵便配達員でコードを実行してみましたが、うまくいきました。

解決策 1

コードを見てください。コンパイルされません。

あなたが宣言した keyValues として Dictionary<string, string> ただし、文字列ではないいくつかの値を渡してみてください。 10000abc@mail.com34532756YT

これらを文字列に変更すると、コンパイルされる可能性があり、次のステップに進みます。

var keyValues = new Dictionary<string, string>
                {
                    { "amount", "10000"},
                    { "email" , "abc@mail.com"},
                    { "currency", "NGN"},
                    { "initiate_type", "inline"},
                    { "transaction_ref" , "34532756YT"},
                    { "callback_url", "https://samplesite.com"}
                };

または、辞書を修正して、正しいタイプの値を受け入れるようにします…

コメント

タイトルとURLをコピーしました