#gregers-sca-subscription

1 messages · Page 1 of 1 (latest)

fervent agate
#

@fallow thorn hello! I'm not entirely sure I follow. Why would someone switch to yearly while the subscription is incomplete exactly?

fallow thorn
#

Sorry let me do a better job laying out the scenario

#

Initial state: User is on active monthly subscription

#

They decide to upgrade to yearly to access savings. This will result in an invoice for some amount with prorations from the monthly subscription

#

If that invoice requires SCA the new yearly subscription will be in incomplete status

#

I'm wondering how you might handle card failure flows in a case like this? Obviously many things you could do but is there a vanilla example that I could reference?

#

If we cancel the monthly subscription then it could be a bit awkward to revert since now when the yearly subscription times out after 23 hours we have to recreate the monthly subscription and ideally restore its subscription interval / prorations

#

If we leave the old subscription open then there is chance it could even generate an invoice within that 23 hour interval which could be strange

#

The fact that we're encountering these types of challenges makes me feel like I'm thinking about this the wrong way fundamentally

fervent agate
fallow thorn
#

Ty for this let me read over

#

So is the idea that I would basically update the subscription rather than create a new one / cancel old one? I would update the subscription item from monthly to yearly?

fervent agate
#

yes

#

and it leaves the change "pending" until you get them to pay

#

and if they don't it reverts back to monthly

fallow thorn
#

I see

#

ok so I did leave out some complexity in my scenario

#

so we have multiple products which can be subscribed to independently

#

this means I might have a subscription with 2 items (2 separate monthly subscriptions)

#

User might go to upgrade one of these to yearly in which case we are forced to create a new subscription right?

fervent agate
#

yeah you can't "combine" billing cycles

fallow thorn
#

How might I handle sca in that case I wonder?

#

Its really this notion of reverting that is challenging

#

The invoice woudl be associated with the new subscription

fervent agate
#

In that case you have to do a brand new subscription and if it's paid successfully you remove the price on the old subscription

fallow thorn
#

Maybe a pending update to remove the item on the old subscription? Could that pending update be associated with the invoice on the new subscription?

fervent agate
#

there isn't really a better way for it to do pending across subscriptions

fallow thorn
#

I see

#

so the flow would be:

  • Update is requested
  • Create new subscription -> SCA is triggered
  • Wait until SCA is completed... only when it is successfully completed / new subscription is finalized do we remove the old subscription item
#

If it fails the new subscription times out and we just leave the old item

fervent agate
#

yeah

fallow thorn
#

Basically we need to model the logic outselfs

fervent agate
#

only downside is that you don't get "proration credit" for the remaining time already paid on the monthly

fallow thorn
#

Aha good point

#

The prorations are certainly a challenge here

#

TBH finding this incomplete status difficult to work with

#

if it went direct to unpaid it would be really helpful or if we could request it go unpaid instead

#

The dream would be we basically commit all the changes immediately knowing they cannot time out

#

then if SCA is not completed our delinquent handling would trigger and cover our bases

fervent agate
#

well IMO that's net worse

#

since if they don't pay, you end up in a world of having the yearly price active incorrectly