public SaleToPOIResponse Deserialize(string saleToPoiMessageDto) { var saleToPoiMessageJObject = JObject.Parse(saleToPoiMessageDto); var saleToPoiMessageRootJToken = saleToPoiMessageJObject.First; var saleToPoiMessageWithoutRootJToken = saleToPoiMessageRootJToken.First; //Messageheader var messageHeader = DeserializeMessageHeader(saleToPoiMessageWithoutRootJToken); //Message payload object messagePayload = DeserializeMessagePayload(messageHeader, saleToPoiMessageWithoutRootJToken); var deserializedOutputMessage = new SaleToPOIResponse { MessageHeader = messageHeader, MessagePayload = messagePayload }; //Check and deserialize RepeatedMessageResponse. RepeatedMessageResponse is optional if (saleToPoiMessageDto.Contains("TransactionStatusResponse") && saleToPoiMessageDto.Contains("RepeatedMessageResponse") && saleToPoiMessageDto.Contains("RepeatedResponseMessageBody")) { var response = GetDeserializedRepeatedResponseMessagePayload(saleToPoiMessageWithoutRootJToken); TransactionStatusResponse deserializedOutput = (TransactionStatusResponse)deserializedOutputMessage.MessagePayload; deserializedOutput.RepeatedMessageResponse.RepeatedResponseMessageBody.MessagePayload = response; deserializedOutputMessage.MessagePayload = deserializedOutput; } return(deserializedOutputMessage); }
private bool IsWrongProjectSettings(TransactionStatusResponse response) { if (response.http_status_code != 403) { return(false); } return(!string.IsNullOrEmpty(response.message) && response.message.Contains("serverless integration")); }
/// <summary> /// Executes a PayU payment. /// </summary> /// <returns>Capture string id.</returns> public async Task <string> ExecutePaymentAsync() { try { TransactionStatusResponse paymentResponse = await ApiCalls.GetPaymentStatus(paymentId).ConfigureAwait(false); if (paymentResponse != null && paymentResponse.Result.Count > 0 && paymentResponse.Result[0].Status.Equals(Constant.MoneyWithPayU, StringComparison.InvariantCultureIgnoreCase)) { return(paymentResponse.Result[0].Amount.ToString(CultureInfo.InvariantCulture)); } } catch (Exception ex) { ParsePayUException(ex); } return(await Task.FromResult(string.Empty).ConfigureAwait(false)); }
/// <summary> /// Executes a PayU payment. /// </summary> /// <returns>Capture string id.</returns> public async Task <string> ExecutePaymentAsync() { try { TransactionStatusResponse paymentResponse = await ApiCalls.GetPaymentStatus(this.paymentId); if (paymentResponse != null && paymentResponse.Result.Count > 0 && paymentResponse.Result[0].Status.Equals(Constant.MoneyWithPayU)) { return(paymentResponse.Result[0].Amount.ToString()); } } catch (Exception ex) { this.ParsePayUException(ex); } return(await Task.FromResult(string.Empty)); }
static async Task <TransactionStatusResponse> TransactionStatusRequestAsync() { TransactionStatusRequest _transactionStatusRequest = new TransactionStatusRequest() .AsSecurityCredential("Safaricom481$") .AsEntity("testapi481", "600481") .AsAmount(1000) .AsIdentifierType(1) .AsCommandID("TransactionStatusQuery") .AsComments("Test", "Test") .AsTransactionID("LKXXXX1234") .AsEndpoints("https://safaricom.api", "https://safaricom.api"); TransactionStatusResponse _response = await _safaricomApiClient.PostPaymentRequestAsync(_transactionStatusRequest); if (_response.ErrorCode == null) { Console.WriteLine("==========================================="); Console.WriteLine("===Transaction Status Success Response====="); Console.WriteLine("==========================================="); Console.WriteLine(Environment.NewLine); Console.WriteLine(_response.OriginatorConversationID + Environment.NewLine + _response.ConversationID + Environment.NewLine + _response.ResponseDescription); Console.WriteLine(Environment.NewLine); } else { Console.WriteLine("==========================================="); Console.WriteLine("=====Transaction Status Error Response====="); Console.WriteLine("==========================================="); Console.WriteLine(Environment.NewLine); Console.WriteLine(_response.ErrorCode + Environment.NewLine + _response.ErrorMessage + Environment.NewLine + _response.ErrorRequestId); Console.WriteLine(Environment.NewLine); } return(_response); }