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); }