Example #1
0
        private async Task <Result <DtoSubscriptionPackage> > MergePackageWithStripeInfo(SubscriptionPackage package)
        {
            try
            {
                var result = await billingManager.GetSubscriptionPackage(package.ExternalPackageId).ConfigureAwait(false);

                if (result == null)
                {
                    return(Result.Fail <DtoSubscriptionPackage>("Failed to fetch package info from Stripe, null response."));
                }

                var sPackage = new DtoSubscriptionPackage
                {
                    PackageId     = package.PackageId,
                    PackageName   = package.PackageName,
                    MonthlyAmount = result.MonthlyAmount,
                    Identifier    = result.Identifier,
                };

                return(Result.Ok <DtoSubscriptionPackage>(sPackage));
            }
            catch (Exception)
            {
                return(Result.Fail <DtoSubscriptionPackage>("Failed to fetch package info from Stripe"));
            }
        }