簡體   English   中英

C#Content.ReadAsAsync

[英]C# Content.ReadAsAsync

作為一種學習方式,我正在與支付網關的Sandbox API集成。 我已經可以通過在Body + Headers中傳遞信息來執行所需端點的POST。 我的問題是關於使用Content.ReadAsAsync方法獲取此POST的返回值。 作為回應,我獲得了很多有關付款的信息(包括標識交易標識符的GUID)。

我正在嘗試以下面的方式使用Content.ReadAsAsync,但得到的是“空”返回。 由於這是我第一次做這樣的事情,您能給我一個如何將數據匯總在一起的想法嗎?

在此先感謝您的幫助。

 var transactionbuilder = new TransactionBuilder("300", customer, payment);         


            client.BaseAddress = new Uri("//ENDPOINT"); /
            client.DefaultRequestHeaders.Add("//HEADER1");
            client.DefaultRequestHeaders.Add("//HEADER2");
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));


            HttpResponseMessage response = await client.PostAsJsonAsync("//RESOURCE", transactionbuilder);
            TransactionResponse exibeResponse = await response.Content.ReadAsAsync<TransactionResponse>();

            Console.WriteLine(
               $"{exibeResponse.AcquirerTransactionId}\n " +
               $"{exibeResponse.AuthorizationCode}\n" +
               $" {exibeResponse.PaymentId}\n" +
               $" {exibeResponse.ProofOfSale}\n " +
               $"{exibeResponse.ProviderReturnCode} \n" +
               $"{exibeResponse.ProviderReturnMessage} \n" +
               $"{exibeResponse.ReasonCode}\n " +
               $"{exibeResponse.ReasonMessage}\n " +
               $"{exibeResponse.ReceivedDate}\n " +
               $"{exibeResponse.Status}"
               );

只是為了分享,在與@Yogu交談之后,我通過以下選項解決了它。

HttpResponseMessage response = await client.PostAsJsonAsync("RESOURCE", transactionbuilder); 
            var content = await response.Content.ReadAsStringAsync(); 

            dynamic formattedContent = JsonConvert.DeserializeObject<dynamic>(content); 
            var OrderPaymentId = formattedContent.Payment.PaymentId;
            var OrderInstallments = formattedContent.Payment.Installments;
            var OrderCapturedDate = formattedContent.Payment.CapturedDate;

            Console.WriteLine($"" +
                $"GUID: {OrderPaymentId}\n" +
                $"Quantidade de Parcelas: {OrderInstallments}\n" +
                $"Data de captura: {OrderCapturedDate}");

暫無
暫無

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

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