#mtoledo2

1 messages · Page 1 of 1 (latest)

obtuse creekBOT
shut bay
#

Hello, can you tell me more about what these form changes are and how they would affect the subscription? Also is this hold only on the initial payment or are you aiming to do holds on recurring payments in some way? I don't think recurring payments support placing holds but there may be workarounds for just the first payment

mellow solstice
#

Just on the initial payment

#

This form is sent to a doctor. So we don't want to send before payment because that could result in unnecessary doctor visits before they've paid. However if they drop off prior to checkout then we don't want to charge them for the subscription. We could make the payment and form/doctor submission at the very end all together but ideally I'd prefer if there are any errors in the flow it is handled in the section they are in.

So payment information errors would be shown when they're in the payment information section

#

And errors meaning there isn't enough funds since the stripe elements already has basic validation for card info

shut bay
#

To make sure that I have this right: the patient puts in info, doctor fills out the form, and the patient is charged after the doctor submits the form?

mellow solstice
#

The patient puts in payment information, then fills out form with personal information that goes to a doctor asynchronously.

#

We want to charge once form was submitted

shut bay
#

Gotcha, and does the amount change based on either the patient or doctor's form input?

mellow solstice
#

No amount doesn't change

shut bay
#

Gotcha, so my immediate idea would be to just go through the normal "place a hold" flow with a PaymentIntent that you create directly. Then when the doctor submits the form and the payment goes through, you can create a subscription on the customer and give them the first month free via either a credit note or coupon. You could also do something like use a subscription schedule to use a $0 price for once cycle and then change to the actual price though that may be a bit too complicated.

Unfortunately it looks like there isn't a way to do this with just a subscription as they don't seem to support placing holds in general. I think your other option of waiting to charge until the end of the process would also work through as you note that would definitely have the downside of now knowing if you could charge the user the actual amount until you actually charge them.

obtuse creekBOT
mellow solstice
#

Hmm, so was also thinking of doing the normal flow of placing a hold at the beginning then on form submission cancelling that hold and processing the subscription.

I guess I'd technically have to attach that payment method to the customer and then have that be used in the subscription. Seems doable but could run into some weird scenarios maybe?

Any thoughts on the above?

#

Concern there is does the hold bring down the account balance where then they may technically not have enough funds for the subscription payment

spice zodiac
#

Hello! I'm taking over and catching up...

#

I don't recommend placing a hold, canceling it, then doing the Subscription. Canceling a hold can take some time to process, so if you place a hold for $100, then cancel, then create a Subscription that charges $100, that means you're actually tying up $200 on that customer's card until the hold cancelation goes through.

#

That's going to lead to confusion, and probably a lot more declines than you would otherwise see.

#

For example, if I only have $150 available on my card, the hold would leave $50, which means the $100 Subscription would hit an insufficient funds decline.

#

If you place a hold you should capture those held funds and deal with the Subscription some other way, such as the trial or $0 Price suggested earlier.

mellow solstice
#

Ok, I see. The one caveat with our situation with the $0 price or trial is that we are using stripe connect. So it could be that our patners would be confused with a month trial or $0 price on an invoice

#

It seems like best solution here would be to just wait until the end and charge in this case

spice zodiac
#

Yep, that's very possible. It depends on how your integration works.

#

If I were you I'd wait until the end to charge, then deal with declines at that point, yeah.

#

If I get a decline at the end I would show the person details about the issue and ask them to provide new payment info.