Set subscription to expire 7 days after payment failure
This commit is contained in:
parent
e634310cb1
commit
a275ab7740
1 changed files with 4 additions and 3 deletions
|
@ -8,7 +8,6 @@ import (
|
|||
"fmt"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/ente-io/museum/pkg/controller/commonbilling"
|
||||
|
||||
|
@ -21,6 +20,7 @@ import (
|
|||
"github.com/ente-io/museum/pkg/repo"
|
||||
"github.com/ente-io/museum/pkg/utils/billing"
|
||||
"github.com/ente-io/museum/pkg/utils/email"
|
||||
"github.com/ente-io/museum/pkg/utils/time"
|
||||
"github.com/ente-io/stacktrace"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"github.com/spf13/viper"
|
||||
|
@ -51,6 +51,8 @@ type StripeController struct {
|
|||
// account deletion.
|
||||
const SkipMailKey = "skip_mail"
|
||||
|
||||
const BufferPeriodOnPaymentFailureInDays = 7
|
||||
|
||||
// Return a new instance of StripeController
|
||||
func NewStripeController(plans ente.BillingPlansPerAccount, stripeClients ente.StripeClientPerAccount, billingRepo *repo.BillingRepository, fileRepo *repo.FileRepository, userRepo *repo.UserRepository, storageBonusRepo *storagebonus.Repository, discordController *discord.DiscordController, emailNotificationController *emailCtrl.EmailNotificationController, offerController *offer.OfferController, commonBillCtrl *commonbilling.Controller) *StripeController {
|
||||
return &StripeController{
|
||||
|
@ -469,8 +471,7 @@ func (c *StripeController) handlePaymentIntentFailed(event stripe.Event, country
|
|||
}
|
||||
// If the current subscription is the same as the one in the webhook, then
|
||||
// we need to expire the subscription, and send an email to the user.
|
||||
// TODO: Set the expiry time to 7 days from now
|
||||
newExpiryTime := time.Now().UnixMicro()
|
||||
newExpiryTime := time.NDaysFromNow(BufferPeriodOnPaymentFailureInDays)
|
||||
err = c.BillingRepo.UpdateSubscriptionExpiryTime(
|
||||
currentSubscription.ID, newExpiryTime)
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Reference in a new issue