簡體   English   中英

Paypal通過C#中的400錯誤請求錯誤保存了卡休息API

[英]Paypal saved card rest API through 400 Bad Request error in C#

我正在使用.net MVC C#開發應用程序。 我嘗試調用PayPal的rest API來保存信用卡詳細信息,我的代碼工作正常,但突然它從400 Bad Request異常開始。 這是我的代碼,

private static async Task<string> StorePaymentCards(string accessToken, PaymentInfoModel cardDetails)
    {
        try
        {
            var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.sandbox.paypal.com/v1/vault/credit-card");
            var result = "";
            httpWebRequest.ContentType = "application/json; charset=utf-8";
            httpWebRequest.Method = "POST";
            httpWebRequest.Accept = "application/json; charset=utf-8";
            httpWebRequest.Headers.Add("Authorization", "Bearer " + accessToken);

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                var loginjson = new JavaScriptSerializer().Serialize(new
                {
                    payer_id = cardDetails.PayerId.Trim(),
                    type = cardDetails.CardType.Trim(),
                    number = cardDetails.CardNumber.Trim(),
                    expire_month = cardDetails.ExpireMonth.Trim(),
                    expire_year = cardDetails.ExpireYear.Trim(),
                    first_name = cardDetails.FirstName.Trim()
                });

                streamWriter.Write(loginjson);
                streamWriter.Flush();
                streamWriter.Close();

                //The code fails when creating the Response here, and go into catch block
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    result = streamReader.ReadToEnd();
                }
                return result;
            }

        }

        catch (Exception ex)
        {
            return ex.GetBaseException().Message;
        }
    }
}

誰能幫我解決這個錯誤? 先感謝您。

 private static async Task<string> StorePaymentCards(string accessToken, PaymentInfoModel cardDetails)
    {
        try
        {
          //my stuff
        }
        catch (WebException ex)
        {
            string text = null;
            using (WebResponse response = ex.Response)
            {
                HttpWebResponse httpResponse = (HttpWebResponse)response;
                Console.WriteLine("Error code: {0}", httpResponse.StatusCode);
                using (Stream data = response.GetResponseStream())
                using (var reader = new StreamReader(data))
                {
                    text = reader.ReadToEnd();
                    Console.WriteLine(text);
                }
            }
            return text; //ex.GetBaseException().Message;
        }
    }

我在catch塊中所做的更改已更改為跟蹤正確的錯誤,因此它將我遇到的錯誤返回給我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM