#David Gallardo

1 messages · Page 1 of 1 (latest)

dull fossilBOT
slim mortar
#

Hi

misty lantern
#

Mostly it because that card requires the customer authenticate again. It's a decision made by the issuer bank. Can you give an example Payment Intent Id? I can have a quick look

slim mortar
#

Ok, i show a real payment intent

#

i have permission

#

Stripe email support has told me that it's due to 3D secure, to show the customer to enter 3D secure or use the customer's last payment intent.

misty lantern
#

Yes that's correct. Let me double check the PI before putting together the points

slim mortar
#

OK

misty lantern
#

You created that Subscription Schedule with a Customer correct? cus_K9ZtDtEZZBNwB1 How did you collect card for this customer?

#

I haven't found a Checkout yet

slim mortar
#

wait

#

Are you telling me that he is a user with the subscription paid manually by Stripe Dahsboard, so does he have 3d secure problems?

misty lantern
#

No, I am asking how did you know about this part:

I'm using Stripe Checkout to charge the customer first payment,

slim mortar
#

Sorry, I made a mistake with this client. In the case of this client, his payment method was taken through the PHP api.

#

The 2021 customer saved his bank card by the method we had before all API. In 2022 we have moved to using Stripe Checkout, and he has not gone through Stripe Checkout. I already had the card added before.

With the customer's card we execute a manual charge through the Stripe Dashboard to activate the customer's subscription.

thick mural
#

hi

#

help me please

glossy tapir
#

@slim mortar Taking over here

thick mural
#

Thank you for your ımmedıate response

glossy tapir
#

That's the channel you'd post in for help – just type your question in there. I'm helping a different user in this thread, and we don't help multiple users in a single thread

#

@slim mortar I suspect the issue here is a combination of using older APIs (card_, src_ objects) and 3DS2/auth requirements from banks.

#

Also, you're using payment_behavior: 'error_if_incomplete which I suspect might be cancelling the the Payment Intent:

Use error_if_incomplete if you want Stripe to return an HTTP 402 status code if a subscription’s invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead.

#

Is that a requirement of your integration?

slim mortar
#

wait

#

What do you recommend to solve the problem?

#

Yes, i use error if incomplete
'payment_behavior' => 'error_if_incomplete',

glossy tapir
#

Well, this behaviour seems expected to me based on that parameter

#

3DS was requested, and per that parameter, we error in those instances rather than updating the Subscription status to reflect that 3DS request

slim mortar
#

What do you recommend to apply for the secure 3DS?

#

For that type of error or any future problems with the 3DS card

glossy tapir
#

Well, if 3DS is requested in this instance you need to bring your customer back on-session to complete the authentication flow

#

To do that, you need to stop passing the payment_behaviour: 'error_if_incomplete' parameter

#

Then, your update call will succeed, an Invoice will be generated which will contain a pi_xxx that requires confirmation

slim mortar
#

What can I do to get the client to pay that pi intent with Stripe Checkout?

glossy tapir
#

You can't pass an existing Payment Intent to Checkout for payment, no

slim mortar
#

Then? Any recommendation?

glossy tapir
#

I'd recommend taking the first step which is to remove payment_behaviour: 'error_if_incomplete' from your update call

#

But you should be trying this in test mode, not on live data

slim mortar
#

ok

#

But even if I remove error_if_incomplete, I won't have an option for the user to be redirected to pay or charge in the same step.

glossy tapir
slim mortar
#

There is only the possibility of payment email with this type of client, correct?

glossy tapir
#

What do you mean?

slim mortar
#

That the only solution for customers to pay is through the email that arrives in their mail.

#

I have other question: What can I do automatically so that an invoice is not generated until the client does not pay?

#

We are in Spain, each invoice that is not paid has to carry a credit note that subtracts the invoice. We have many clients who decide not to pay those bills because they are not interested in the price. If we generate 200 invoices and they are not paid, we have to generate 200 credit notes so that the government does not fine us.

glossy tapir
#

That's not possible with Billing/Subscriptions. They will automatically generate an Invoice prior to payment

#

You can prevent them from being sent to customers

slim mortar
#

In Spain, any invoice generated has a number and cannot be skipped, all invoices must be delivered to the government.

#

Ok, thanks for all @glossy tapir @misty lantern