#thomasst

1 messages · Page 1 of 1 (latest)

opaque groveBOT
shy roost
#

Hello there

#

Taking a look

#

So the way this works is that we don't send these emails on the initial payment that you trigger, as we assume the customer is on-session here and you would handle having them complete 3DS if it is required

grim tapir
#

How can we get those sent out right away? The lowest setting is 1 day

shy roost
#

You can't. You send the invoice to the customer and they complete payment using 3DS in that case.

grim tapir
#

I tried to do this and I get "Request req_4S82GvWZ1wgBgJ: You can only manually send an invoice if its collection method is 'send_invoice'."

shy roost
#

Right so that would be a necessary update to the Subscription here if you want to send out the invoice via Stripe. Otherwise, you could manually grab the hosted_invoice_url and send that to the customer yourself. But really, why are you triggering manual payment at all here? And why isn't the paymentmethod set up to handle 3DS ahead of time?

#

We may want to back up and discuss what you are really trying to accomplish here

grim tapir
#

In this case the scenario is that the customer enters an always-3DS card and then the subscription payment hits. We finalize the invoice but the customer does not get any way to authenticate until a day later.

#

I used the test card that always triggers 3DS in this case.

shy roost
#

Okay so you are looking to handle the edge-case that the customer's bank does force 3DS even though the card is properly set up

#

So here, the confirmation email will be sent immediately if you don't manually trigger payment

#

Since you are calling /pay it is assumed the customer is on-session

#

If you allow for the automatic confirmation failure, then the 3DS confirmation should be sent.

grim tapir
#

So I should just finalize and skip the pay then?

shy roost
#

You don't finalize at all, just let the Sub cycle as normal (it will finalize itself)

grim tapir
#

(during the 1 hour subscription invoice draft window)

#

Will it get sent if I finalize and don't pay?

#

The other scenario is that the customer has some unpaid invoices due to an expired card, then they enter the 3DS card and we want to charge all the past unpaid invoices.

#

Technically the customer is online but if the backend triggers pay() how do we get them to complete 3DS for each invoice?

shy roost
#

If you want it to be sent, then you use send_invoice

#

If they are on session, then you pass the client_secret to the frontend and use confirmCardPayment to trigger the 3DS modal so they can complete 3DS

grim tapir
#

The question was, if I have a subscription set to charge_automatically, get the invoice created webhook, and then finalize the invoice, will they get a 3DS email?

shy roost
#

If the automatic payment fails, you mean?

grim tapir
#

yep

#

if it fails due to 3DS being required

shy roost
#

I think in this case it is sent and we assume the customer is off-session, but I'm actually not 100% positive.

#

I think testing that scenario is worthwhile