private ReqMessage CreateCivicaRequest(
            string callingApplicationIdentifier,
            string callingApplicationTransactionReference)
        {
            CriteriaStructure queryCriteria = new CriteriaStructure();

            queryCriteria.BooleanOp = AndOr.And;
            queryCriteria.Operator  = "=";
            // 'paylink_payment_ref' == CallingApplicationTransactionReference, see "SRV - QueryPayments - v1.00r8.doc"
            // queryCriteria.Column = "paylink_payment_ref";
            // for QueryAuthRequests : from PaylinkXML UI User Guide v1.1.doc
            queryCriteria.Column = "callingapplicationtransactionreference";
            queryCriteria.Value  = callingApplicationTransactionReference;

            ReqMessage query = new ReqMessage();

            query.CallingApplicationIdentifier = callingApplicationIdentifier;
            //query.pageNum = "1";
            //query.pageSize = "2";
            query.CriteraList = new CriteriaStructure[]
            {
                queryCriteria
            };
            return(query);
        }
Пример #2
0
        private ReqMessage ProcessGeoITDPruchaseVoid(ReqMessage reqMsg_)
        {
            LOG.Trace("ENTER");

            ReqMessage retVal = new ReqMessage(null);

            try
            {
                string jsonBody = ByteStream.PByteToPrimitive(reqMsg_.Body, 0, typeof(string)).ToString();

                GeoITDPurchaseRequest purchaseRequest = GeoITDPurchaseRequest.DeserializeJson(jsonBody);

                GeoITDClient geoITDClient = new GeoITDClient();
                //(ConfigMgr.Instance.MercadoPagoAPIURL, ConfigMgr.Instance.MercadoLibreAPIURL, ConfigMgr.Instance.MercadoLibreAPIAccessTOKEN);

                string strAux = "";
                PurchaseVoidResponse response;

                LOG.Info("{Message}", $"Before calling PurchaseVoid(), REQUEST:\r\n{jsonBody}");

                if (geoITDClient.PurchaseVoid(GeoITDPurchaseRequest.ToPurchaseVoidRequest(purchaseRequest), out response))
                {
                    strAux = $"response_code={response.ResponseCode}|" +
                             $"transaction_id={response.TransactionId}";
                }
                else
                {
                    strAux = $"response_code={(response == null? -1 : response.ResponseCode)}";
                }

                //retVal.MessageType = reqMsg_.MessageType;
                retVal.Body = ByteStream.ToPByte(strAux);
                //retVal.BodySize = retVal.Body.Length;
                //retVal.Checksum = retVal.GenerateChecksum();

                LOG.Info("{Message}", $"After calling Purchase(), RESPONSE:\r\n{strAux}");
            }
            catch (Exception ex)
            {
                //retVal.MessageType = reqMsg_.MessageType;
                retVal.Body = ByteStream.ToPByte(ex.Message);
                //retVal.BodySize = retVal.Body.Length;
                //retVal.Checksum = retVal.GenerateChecksum();

                LOG.Fatal(ex, "{Message}", "Exception caught.");
            }
            finally
            {
                LOG.Trace("EXIT");
            }

            retVal.MessageType = reqMsg_.MessageType;
            retVal.BodySize    = retVal.Body.Length;
            retVal.Checksum    = retVal.GenerateChecksum();

            return(retVal);
        }
Пример #3
0
        public static async Task <RespMessage> QueryAsync(
            this QueryAuthRequestSrvSoap svcClient,
            ReqMessage reqMessage)
        {
            QueryRequest inValue = new Workwiz.PaymentFramework.Shared.CivicaAuthRequest.QueryRequest();

            inValue.ReqMessage = reqMessage;
            QueryResponse retVal = await svcClient.QueryAsync(inValue);

            return(retVal.RespMessage);
        }
 public async Task SendMrnStoryRequest(int streamId, string storyItem = "MRN_STORY")
 {
     var marketPriceReq = new ReqMessage
     {
         ID     = streamId,
         Domain = DomainEnum.NewsTextAnalytics,
         Key    = new MessageKey {
             Name = new List <string> {
                 storyItem
             }, NameType = NameTypeEnum.Ric
         }
     };
     await ClientWebSocketUtils.SendTextMessage(_websocket.WebSocket, marketPriceReq.ToJson());
 }
        public async Task SendLogin(string username, string position, string appID = "256", int streamID = 1)
        {
            var loginReq = new ReqMessage
            {
                ID      = streamID, Domain = DomainEnum.Login,
                MsgType = MessageTypeEnum.Request,
                Key     = new MessageKey()
            };

            loginReq.Key.Elements = new Dictionary <string, object> {
                { "ApplicationId", appID }, { "Position", position }
            };
            loginReq.Key.Name = new List <string> {
                username
            };

            await ClientWebSocketUtils.SendTextMessage(_websocket.WebSocket, loginReq.ToJson());
        }
Пример #6
0
        internal V3Message CreateMessageForInvocation(String className, String methodName, Object[] args, IDictionary headers)
        {
            ReqMessage bodyMessage = new ReqMessage();

            bodyMessage.body        = new BodyHolder();
            bodyMessage.body.body   = args == null ? new object[0] : args;
            bodyMessage.destination = IdInfo.Destination;
            bodyMessage.headers     = headers;

            if (className != null)
            {
                bodyMessage.source = className;
            }

            bodyMessage.operation = methodName;

            return(bodyMessage);
        }
        public async Task SendMarketPriceRequest(string itemList, int streamId, List <string> fieldList = null)
        {
            var marketPriceReq = new ReqMessage
            {
                ID     = streamId,
                Domain = DomainEnum.MarketPrice,
                Key    = new MessageKey
                {
                    Name     = itemList.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(),
                    NameType = NameTypeEnum.Ric
                }
            };

            if (fieldList != null)
            {
                marketPriceReq.View = fieldList;
            }
            await ClientWebSocketUtils.SendTextMessage(_websocket.WebSocket, marketPriceReq.ToJson());
        }
Пример #8
0
        public void TestPost()
        {
            // Arrange
            var req = new ReqMessage {
                Name = "TimHsu", Age = 23
            };

            // Act
            var res      = ctr.GetJsonString(req);
            var okResult = res as OkObjectResult;

            // Assert
            Assert.IsNotNull(okResult);
            Assert.AreEqual(200, okResult.StatusCode);
            Assert.IsTrue(okResult.Value is ReqMessage);
            //Assert.IsType<ReqMessage>(okResult.Value);

            var val = okResult.Value as ReqMessage;

            Assert.AreEqual(val.Name, "TimHsu");
            Assert.AreEqual(val.Age, 23);
        }
Пример #9
0
        protected override ReqMessage ProcessIncomingRequest(ReqMessage msg_)
        {
            ReqMessage retVal = new ReqMessage(null);

            switch (msg_.MessageType)
            {
            case (int)GEOITD_MSG.PURCHASE:
                retVal = ProcessGeoITDPruchase(msg_);
                break;

            case (int)GEOITD_MSG.REVERSE:
                //retVal = ProcessCancelOrder(msg_);
                break;

            case (int)GEOITD_MSG.PURCHASE_VOID:
                retVal = ProcessGeoITDPruchaseVoid(msg_);
                break;

            case (int)GEOITD_MSG.PURCHASE_REFUND:
                retVal = ProcessGeoITDPruchaseRefund(msg_);
                break;

            case (int)GEOITD_MSG.QUERY_REQUEST:
                retVal = ProcessGeoITDQueryStatus(msg_);
                break;

            case (int)GEOITD_MSG.QUERY_REQUEST_NOWAIT:
                retVal = ProcessGeoITDQueryStatus(msg_, false);
                break;

            default:
                LOG.Info("{Message}", $"Unknown Message type -> { msg_.MessageType} ID received.");
                break;
            }

            return(retVal);
        }
Пример #10
0
 public IActionResult GetWithCustomLoginPolicy([FromBody] ReqMessage req)
 {
     return(Ok("HELLO, I SUCCEED IN AUTHENTICATION!\r\nAUTHENTICATION HEADER MUST BE PRESENT TO SUCCEED!"));
 }
Пример #11
0
        public override BaseMessage ToMessage()
        {
            var msg = new ReqMessage(Id, RecipientId);

            return(msg);
        }
Пример #12
0
 public Req(ReqMessage message)
 {
     Id          = message.Id;
     RecipientId = message.RecipientId;
 }
Пример #13
0
 // https://localhost:44343/webapi/Home
 public IActionResult Post([FromBody] ReqMessage req)
 {
     return(Ok(req));
 }
Пример #14
0
        private ReqMessage ProcessGeoITDQueryStatus(ReqMessage reqMsg_, bool waitForStatus = true)
        {
            LOG.Trace("ENTER");

            ReqMessage retVal = new ReqMessage(null);

            try
            {
                string jsonBody = ByteStream.PByteToPrimitive(reqMsg_.Body, 0, typeof(string)).ToString();

                GeoITDPurchaseQueryRequest queryRequest = GeoITDPurchaseQueryRequest.DeserializeJson(jsonBody);

                GeoITDClient geoITDClient = new GeoITDClient();

                string strAux = "";
                PurchaseQueryResponse queryResponse;

                LOG.Info("{Message}", $"Before calling ProcessGeoITDQueryStatus(), REQUEST:\r\n{jsonBody}");

                if (geoITDClient.QueryTransactionStatus(GeoITDPurchaseQueryRequest.ToPurchaseQueryRequest(queryRequest), out queryResponse, waitForStatus))
                {
                    strAux = $"response_code={queryResponse.ResponseCode}|" +
                             $"pos_response_code={queryResponse.PosResponseCode}|" +
                             $"pos_response_code_ext={queryResponse.PosResponseCodeExtension}|" +
                             $"ticket={queryResponse.Ticket}|" +
                             $"authorization_code={queryResponse.AuthorizationCode}|" +
                             $"issuer={queryResponse.Issuer}|" +
                             $"card_number={queryResponse.CardNumber}|" +
                             $"expiration_date={queryResponse.ExpirationDate}|" +
                             $"transaction_date={DateTime.ParseExact($"{queryResponse.TransactionDate}", "yyMMdd", CultureInfo.InvariantCulture):dd/MM/yyyy}|" +
                             $"transaction_time={DateTime.ParseExact($"{queryResponse.TransactionHour}", "HHmmss", CultureInfo.InvariantCulture):HH:mm}|" +
                             $"EMV_application_id={queryResponse.EmvApplicationId}|" +
                             $"EMV_application_name={queryResponse.EmvApplicationName}|" +
                             $"transaction_type={queryResponse.TransactionType}|" +
                             $"origin_card_type={queryResponse.OriginCardType}|" +
                             $"batch={queryResponse.Batch}|" +
                             $"acquirer={queryResponse.Acquirer}|" +
                             $"merchant={queryResponse.Merchant}|" +
                             $"input_mode={queryResponse.InputMode}|" +
                             $"card_owner_name={queryResponse.CardOwnerName}|" +
                             $"tax_amount={queryResponse.TaxAmount}";
                }
                else
                {
                    strAux = $"response_code={queryResponse.ResponseCode}";
                }

                retVal.MessageType = reqMsg_.MessageType;
                retVal.Body        = ByteStream.ToPByte(strAux);
                retVal.BodySize    = retVal.Body.Length;
                retVal.Checksum    = retVal.GenerateChecksum();

                LOG.Info("{Message}", $"After calling ProcessGeoITDQueryStatus(), RESPONSE:\r\n{strAux}");
            }
            catch (Exception ex)
            {
                LOG.Fatal(ex, "{Message}", "Exception caught.");
            }
            finally
            {
                LOG.Trace("EXIT");
            }

            return(retVal);
        }
Пример #15
0
        //private ReqMessage ProcessGeoITDPruchaseVoid(ReqMessage reqMsg_)
        //{
        //    LOG.Trace("ENTER");

        //    ReqMessage retVal = new ReqMessage(null);

        //    try
        //    {
        //        string jsonBody = ByteStream.PByteToPrimitive(reqMsg_.Body, 0, typeof(string)).ToString();

        //        GeoITDPurchaseRequest purchaseRequest = GeoITDPurchaseRequest.DeserializeJson(jsonBody);

        //        GeoITDClient geoITDClient = new GeoITDClient();
        //        //(ConfigMgr.Instance.MercadoPagoAPIURL, ConfigMgr.Instance.MercadoLibreAPIURL, ConfigMgr.Instance.MercadoLibreAPIAccessTOKEN);

        //        string strAux = "";
        //        long transactionId = 0;
        //        PurchaseQueryResponse queryResponse;

        //        LOG.Info("{Message}", $"Before calling Purchase(), REQUEST:\r\n{jsonBody}");

        //        if (geoITDClient.PurchaseVoid(GeoITDPurchaseRequest.ToPurchaseVoidRequest(purchaseRequest), out queryResponse))
        //        {
        //            strAux = $"response_code={queryResponse.ResponseCode}|" +
        //                     $"pos_response_code={queryResponse.PosResponseCode}|" +
        //                     $"pos_response_code_ext={queryResponse.PosResponseCodeExtension}|" +
        //                     $"transaction_id={transactionId}|" +
        //                     $"ticket={queryResponse.Ticket}|" +
        //                     $"authorization_code={queryResponse.AuthorizationCode}|" +
        //                     $"issuer={queryResponse.Issuer}|" +
        //                     $"card_number={queryResponse.CardNumber}|" +
        //                     $"expiration_date={queryResponse.ExpirationDate}|" +
        //                     $"transaction_datetime={queryResponse.TransactionDate} {queryResponse.TransactionHour}";
        //        }
        //        else
        //        {
        //            strAux = $"response_code={queryResponse.ResponseCode}";
        //        }

        //        retVal.MessageType = reqMsg_.MessageType;
        //        retVal.Body = ByteStream.ToPByte(strAux);
        //        retVal.BodySize = retVal.Body.Length;
        //        retVal.Checksum = retVal.GenerateChecksum();

        //        LOG.Info("{Message}", $"After calling Purchase(), RESPONSE:\r\n{strAux}");
        //    }
        //    catch (Exception ex)
        //    {
        //        LOG.Fatal(ex, "{Message}", "Exception caught.");
        //    }
        //    finally
        //    {
        //        LOG.Trace("EXIT");
        //    }

        //    return retVal;
        //}

        private ReqMessage ProcessGeoITDPruchaseRefund(ReqMessage reqMsg_)
        {
            LOG.Trace("ENTER");

            ReqMessage retVal = new ReqMessage(null);

            try
            {
                string jsonBody = ByteStream.PByteToPrimitive(reqMsg_.Body, 0, typeof(string)).ToString();

                GeoITDPurchaseRequest purchaseRequest = GeoITDPurchaseRequest.DeserializeJson(jsonBody);

                GeoITDClient geoITDClient = new GeoITDClient();
                //(ConfigMgr.Instance.MercadoPagoAPIURL, ConfigMgr.Instance.MercadoLibreAPIURL, ConfigMgr.Instance.MercadoLibreAPIAccessTOKEN);

                string strAux = "";
                //long transactionId = 0;
                PurchaseRefundResponse queryResponse;

                LOG.Info("{Message}", $"Before calling Purchase(), REQUEST:\r\n{jsonBody}");

                if (geoITDClient.PurchaseRefund(GeoITDPurchaseRequest.ToPurchaseRefundRequest(purchaseRequest), out queryResponse))
                {
                    strAux = $"response_code={queryResponse.ResponseCode}|" +
                             $"transaction_id={queryResponse.TransactionId}";
                }
                else
                {
                    strAux = $"response_code={(queryResponse == null ? -1 : queryResponse.ResponseCode)}";
                }

                //if (geoITDClient.PurchaseRefund(GeoITDPurchaseRequest.ToPurchaseRefundRequest(purchaseRequest), out queryResponse))
                //{
                //    strAux = $"response_code={queryResponse.ResponseCode}|" +
                //             $"pos_response_code={queryResponse.PosResponseCode}|" +
                //             $"pos_response_code_ext={queryResponse.PosResponseCodeExtension}|" +
                //             $"transaction_id={transactionId}|" +
                //             $"ticket={queryResponse.Ticket}|" +
                //             $"authorization_code={queryResponse.AuthorizationCode}|" +
                //             $"issuer={queryResponse.Issuer}|" +
                //             $"card_number={queryResponse.CardNumber}|" +
                //             $"expiration_date={queryResponse.ExpirationDate}|" +
                //             $"transaction_datetime={queryResponse.TransactionDate} {queryResponse.TransactionHour}";
                //}
                //else
                //{
                //    strAux = $"response_code={queryResponse.ResponseCode}";
                //}

                //retVal.MessageType = reqMsg_.MessageType;
                retVal.Body = ByteStream.ToPByte(strAux);
                //retVal.BodySize = retVal.Body.Length;
                //retVal.Checksum = retVal.GenerateChecksum();

                LOG.Info("{Message}", $"After calling Purchase(), RESPONSE:\r\n{strAux}");
            }
            catch (Exception ex)
            {
                retVal.Body = ByteStream.ToPByte(ex.Message);

                LOG.Fatal(ex, "{Message}", "Exception caught.");
            }
            finally
            {
                LOG.Trace("EXIT");
            }

            retVal.MessageType = reqMsg_.MessageType;
            retVal.BodySize    = retVal.Body.Length;
            retVal.Checksum    = retVal.GenerateChecksum();

            return(retVal);
        }