Exemplo n.º 1
0
        public AcApiResponse <FeeLookupResponse, ApiData> FeeLookup(FeeLookupRequest req)
        {
            // If Transactional limit is exceeded, throw an exception
            var     transactionalLimits = AuthIntegration.GetTransactionalLimits();
            decimal?limit = null;

            switch (req.MgiSessionType)
            {
            case SessionType.SEND:
                limit = transactionalLimits.MaxSendAmount;
                break;

            case SessionType.BP:
                limit = transactionalLimits.MaxBillPayAmount;
                break;
            }
            if (limit != null && req.Item > limit)
            {
                throw new TransactionalLimitsException();
            }

            // AgentConnect FeeLookup call for SEND
            var resp = agentConnectIntegration.FeeLookup(req);

            var apiResp = new AcApiResponse <FeeLookupResponse, ApiData>
            {
                BusinessMetadata = MapperHelper.SetResponseProperties(resp.Payload?.Flags, DataSource.AgentConnect),
                ResponseData     = resp
            };

            return(apiResp);
        }