public static Transfer GetTransfer(string transferId) { var transfer = new Transfer(); #region (Plan A) Check Redis Cache First #endregion #region (Plan B) Call Stripe API, Transform Data & Store in Redis Cache var stripeManager = new StripeManager(); var stripeTransfer = stripeManager.GetTransfer(transferId); if (stripeTransfer != null) { return(Transformations.TransformStripeTransferToTransfer(stripeTransfer)); } #endregion return(transfer); }