public PosResponseVer10 SubmitTransaction(PosRequestVer10Transaction transaction, long? clientTransactionId = null) { var rsp = DoTransaction(transaction, clientTransactionId).Ver10; HpsGatewayResponseValidation.CheckResponse(rsp, (ItemChoiceType2)transaction.ItemElementName); string rspCode = string.Empty, rspText = string.Empty; if (rsp.Transaction != null) { var trans = rsp.Transaction.Item; var rspCodeField = trans.GetType().GetProperty("RspCode"); if (rspCodeField != null) { rspCode = rspCodeField.GetValue(trans).ToString(); } var rspTextField = transaction.GetType().GetProperty("RspText"); if (rspTextField != null) { rspText = rspTextField.GetValue(trans).ToString(); } } HpsIssuerResponseValidation.CheckResponse(rsp.Header.GatewayTxnId, rspCode, rspText); return rsp; }