#H2O-charges-paymentmethod

1 messages · Page 1 of 1 (latest)

toxic sinew
#

@polar dirge I'm happy to help but I'll be honest I didn't understand any of what you described in details

If a partner uses the Charge API, you basically can not use PaymentIntent and SetupIntent. Those create a PaymentMethod (not a Token) and they are completely incompatible

#

What are you really trying to do, who creates what object, who uses what object, etc.

polar dirge
#

Thanks!

#

I am actually not really sure if they use Charges API, i am just assuming this because their Event starts with ch_

toxic sinew
#

I will be super nitpicky with words because it's really crucial to be aligned I hope it's okay

polar dirge
#

Yes

#

Thanks

toxic sinew
#

An Event is an object that represent something sent to your webhook endpoint about what happened. Like a PAyout failing, a Customer being created, etc. It's called Event and has an id evt_123. It does not have a ch_123 id

polar dirge
#

I called it event because of this:

#

Within the stripe dashboard

toxic sinew
#

Legacy integrations from years ago, collected card details and created a Card Token tok_123 and then could create a Charge via the /v1/charges API and you get a ch_123

#

Now newer integration create PaymentIntents pi_123 and PaymentMethods pm_123 but those still create Charges under the hood

#

Okay with that said: what is your blocker?

polar dirge
#

This should be the case:

#

What is a blocker?

#

The problem?

toxic sinew
#

Okay this is the legacy integration, they create a card token tok_123, and charge that card with the legacy step, that's it.
Now what are you trying to do, and who are you in that step?

polar dirge
#

We are the frontend. We collect the card details with Elements

toxic sinew
#

Perfect, so today you create a Token right?

polar dirge
#

But I need to verify the card details. Either with confirmCardPayment in a Payment Intent or a confirmCardSetup in a Setup Intent

#

Yes the Token works well

#

This happens with a Payment Intent

toxic sinew
#

that is mostly impossible

#

my guess is you do this
1/ Create a PAymentIntent
2/ Confirm it client-side => charge 35€
3/ create a Token for the same card
4/ Send it to your partner who also charges that card 35€

#

is this what happens?

polar dirge
#

capture_method: 'manual' in the Payment Intent

#

So my guess was that i must use Setup Intent for this?

toxic sinew
#

yeah basically this flow is still showing asa double charge even if you don't capture and you absolutely shouldn't do this

#

but really the flow you are trying will never work

polar dirge
#

Well I would adapt to another flow. But they told us to do so

#

I just try to make it work

#

Is there another way to make a Token?

#

They use this v1/charges and need a token, and told us to use Elements

toxic sinew
#

really trying to do this won't work and they are misunderstanding, they, the partner, absolutely need to move to PaymentIntents

#

nothing else will work

polar dirge
#

They are really bad

#

It goes over a year now

#

Lul

#

I mean

#

Looks like it gets the job done in a hacky way

#

No double charge is created

#

And we can make a Token while use Elements with SCA

#

But there is one problem. If we use Setup Intent, the amount of what we want to charge is not available in the authorization process with the bank. Its left blank »0,00«€. Do you know if I can change that?

#

Its so crazy, because I told them this in the first place. But they always said: No our service works in Europe with SCA. Just use elements. Now we went live and have double charges, because they didn't offer dev / test environments.

#

But I am not here to whine.

#

Do you have any recommendations for me to do? Tipps?

#

Oh and one more question. Is it possible to send the token without doing confirmCardPayment / confirmCardSetup? Probably the charge will fail if it requires authentification, no?

toxic sinew
#

I'm sorry you're really approaching it wrong

polar dirge
#

Fair enough

#

What do you suggest?

toxic sinew
#

Not use this partner at all

#

unfortunately there is no altertnative

polar dirge
#

Its problematic because its such a niche

#

And they are most likely the only service

#

But thanks

#

I really appreciate your time and honesty

#

May I ask your paypal to offer you a coffee?

toxic sinew
#

You don't need to do that, I work for Stripe so it's my job to help people here

#

Do you know if this partner is able to charge "saved cards"?

#

like if you take the Token tok_123 and attach the Token to a Customer cus_123 can they then charge that card?

polar dirge
#

I am not 100% sure but they have an /cardsonfile endpoint and accept a Stripe Token

toxic sinew
#

again vocabular

#

a Stripe Token is tok_123, it's one time use

polar dirge
#

Thats what I know.

toxic sinew
#

You can either charge it once via /v1/charges + source: 'tok_123
Or you can add it to a customer to save that card and later charge the customer/card via /v1/charges + customer: 'cus_123 + source: 'card_123'

#

ah cool

#

okay so you have a really hacky path forward I think

#

it won't be enough but it could help

polar dirge
#

I am happy to hear about every bit

toxic sinew
#

1/ Create a Card Token tok_123
2/ Create a Customer and save that card on it tok_123 -> Customer cus_123 and Card card_123
Now that card is saved and can be charged/re-used at will

What this lets you is
3/ Do a SetupIntent for that saved card to try and do 3D Secure for SCA and get it completed successfully. That works with a saved Card object even though they are legacy

4/ After that, ask them to charge the save card, don't use the tok_123 since it's consumed, but use the card_123 + cus_123
the advantage is that this charge might use the 3DS set up for the card because it was already done successfully and it could help with conversions

#

I am not sure it's really viable but it's worth a shot

polar dirge
#

Thanks

#

I already used a SetupIntent

#

It works

#

Also the token

#

The problem is

#

That SetupIntent does not show money

toxic sinew
#

I know that's just impossible to do the perfect flow

#

and you don't use SetupIntent properly today

polar dirge
#

So our customers are confused with 0,00€

#

Ok

toxic sinew
#

you likely create a completely separate pm_123456 that is unrelated and won't work

#

but yeah everyone will see that 0,00€ there is no alternative

polar dirge
#

But we lost customers to that

#

They get confused

#

Just to clarify

#

In any possible way: A Setup Intent always shows 0,00€?

toxic sinew
#

correct

#

no alternative

polar dirge
#

Maybe we just use it

#

And tell our clients not to get confused

#

Haha

#

We need Payment Intent Captures

#

Would solve everything

toxic sinew
#

not sure what that could mean, we support payment intent captures

polar dirge
#

Yes, but not that »partner«

#

You are not the problem

#

The problem is that service

#

You guys rock

#

Thank you so much again for your answers

#

I am leaving now

#

Is it ok to ask you a question in the future?