#nickdnk-incomplete-sub
1 messages ยท Page 1 of 1 (latest)
๐ Please just ask your question for whomever is on Discord, I'm not always around.
What's not working, can you share detailed reproduction information? It should work, if it doesn't it's a bug I'd say
Sure, I just looked at your status and figured it would be easier than to explain the whole thing to someone else.
Yeah, so just have any sub that you want to update using pending updates (to prevent making changes until SCA has completed). When you do this, it won't accept the payment_settings hash or the default_payment_method parameter. It just says When payment_behavior is set to pending_if_incomplete, you can only pass supported params. default_payment_method is not supported. - and says the same thing if you pass the payment_settings hash
hum but there's no reason to specifically set payment_settings on a pending subscription right?
Like does it just work if you have set it on a subscription ahead of time?
well, save_default_payment_method is inside that dictionary
and it also just wont accept default_payment_method either
inside the dictionary of waht?
I'm sorry you're just at the destination of your test
inside payment_settings
it should be
1/ Create a susbcription with all the right settings
2/ Pay the invoice => sets that PM as default
3/ weeks later, change the price with pending
4/ Pay that invoice => sets that new PM as default
Earlier we agreed that I needed that parameter, no?
And it won't let me make an update to the subscription if I pass payment_settings
sorry can you share a really concrete example wth a clear id?
Yes hold on
this is theoretical right now and I'm not understanding you
Give me a sec
How is this best shared? Code or request IDs?
Like what context would you like
request id. You say "doens't work" I want to see the failure
ok
req_tOqqQDvnpiM2kW
Here I'm trying to update the sub and want it locked in to that payment method (Apple Pay)
And it seems that I cannot do that when using pending_if_incomplete
sure
please try to do this separately
pending_if_incomplete is really strict with what parameters can be passed at the same time
the whole payment_settings should be already set on your sub. So while you only want it for Apple Pay, you mostly have to tweak this ahead of pending_if_incomplete
So I'd set save_default_payment_method in a separate update request first, which does not make any prorations; then call update with pending_if_incomplete?
yes
and then I guess you also have to clean it upif they don't complete (or don't use Apple Pay)
And as I said before I have to also pass default_payment_method to force the proration to be charged to that specific card, but I also cannot send that parameter with pending_if_incomplete - so I also set this before and just hope that it will also go though?
Yeah that was what I was trying not to have to do
๐
And since this is all async with potentially minutes between (people doing SCA) it's kind of difficult to do
I could of course listen to the pending subscription update expiration webhook and use that to remove the Apple Pay card
yeah
sadly `pending_if_incomplete is, in my experience, barely used
so we haven't really invested much more into it
I find that so weird. I have no understanding of how people handle subscription updates with SCA without it. Rolling back changes if the update fails just seems so much more difficult
Maybe people just don't change subscription plans very often?
I'm going to split it into two calls and see if it at least works, then look at error-handling after
they do, really often, they just don't use your flow
most people seem to use the basic incomplete flow with no rollback basically
Hm
I mean that is easier, but it also makes a mess of the subscriptions
(when it goes wrong)
This also means, coincidentally, that I cannot ask for 3DS for pending updates, since request_three_d_secure is also inside payment_settings
yep agreed
but it makes it harder to justify the flow of pending with "all other parameters also pending" since the expiration is quite complex and tricky to reverse
I don't have enough understanding of how it works internally to comment on that, but maybe it's not used so much exactly because it's very limited in what it can do? It's a really good feature I think, but these handicaps really take away from the practical application
maybe but that;s not how most users look at this
you've been using it and reporting issues every time you hit a wall for example :p
Well, because, as I said, it's handicapped.
Haha
I know I come on here a lot but I really try to be informative in my communication
instead of just "doesnt work plz build it for me"
sure sure my point is more that you raise those
and most devs do
and we've almost got no feedback in pending, we got some but almost none
while everyone wanted the default_incomplete flow and repeatedly asked for something of that shape (dozens of time a month lol)
I do use default_incomplete for new subs, obviously, and that works well
Any difference between default_incomplete and allow_incomplete? They seem to be similar
I guess I could do that and just let the sub be past_due if they don't pay
I suppose that's what others do, since you say I'm the odd one out
yeah
but still I'll raise internally, hopefully we improve that pending flow in the future
The main reason I didn't is in that the use-case we have, a sub going from "i'm currently being paid" to "you messed it up and now you no longer pay" is potentially a huge revenue loss
yeah