#Gyan - ACH DD

1 messages ยท Page 1 of 1 (latest)

feral crypt
#

Hi ๐Ÿ‘‹

vital rivet
#

Hello

#

there is no payment method attached to the customer object

feral crypt
vital rivet
#

okay i see now i am able to see the paymentMethod added.

#

So, now when i use the same customer Id next time will it list all the verified bank paymentMethods? let me check

#

is this how i know that this account is already linked and if i choose this account i will not be charged addition 1.5$ verification fee?

onyx spire
#

๐Ÿ‘‹ stepping in as Snufkin needs to step away

vital rivet
#

ok

onyx spire
#

Yep

#

It should indicate if you already have a bank account attached.

#

And the customer won't have to verify that account again

vital rivet
#

okay, so 2 questions:

  1. How can i findout, which transactions i was charged the fee for verification and which transactions i was not charged.

  2. I choose the same bank account twice for the same customer Id. First time it was linked and the second time it should ideally just use the same paymentMethod attached to make the payment, but as per the dashboard it attached a duplicate paymentmethod in the customer object

onyx spire
#

Did you pass setup_future_usage again? I actually haven't tested this flow in a while so I may be mixing things up

vital rivet
#

I am probably using wrong approach to charge the returning customer. What should be the exact flow for the returning customers? meaning they have a customer object and a verified bank PaymentMethod attached already.

onyx spire
#

Yeah exactly

#

Mostly you would show a UI of their saved paymentmethods

#

Then you would create a PaymentIntent to charge the saved PaymentMethod

#

If they select that option

vital rivet
#

okay and if they want to add another bank account just bring them to the create-checkout-session flow again?

vital rivet
onyx spire
#

Grabbing docs

#

Though we don't really have any docs on building your own UI

#

You would do that yourself by listing the Customer's PaymentMethods

#

And then sending the info you want to your client

vital rivet
onyx spire
#

Yes that is fine if the customer is actually on-session.

#

The example above is assuming you were charging a customer later on after they had provided their payment method details

#

On_session will mostly dictate that with a card payment they are there to complete 3DS if necessary.

vital rivet
#

for using on_session, do i have to invoke create-checkout-session again? or just have my own UI, that will display verified bank accounts and onClick of a "Pay" button i will create the paymentIntent and charge the account in the background?

onyx spire
#

No Checkout Session

#

Just your own UI with a Pay button

vital rivet
#

okay, so overall what would you recommend to use on_session or off_session? which is more convnient?

onyx spire
#

You should use the one that is accurate for what is happening

#

If the customer is initiating the payment then they are on-session

#

If you are initiating the transaction and the customer isn't present then off-session is correct

#

We will optimize conversion based on the scenario

vital rivet
#

okay, i wanted to know how using on_session will have a benefit, suppose if creating a paymentIntent and charging the customer will fail, in that case how having the customer present there will be able to fix it?

onyx spire
#

On_session is mostly for if 3DS is required like I said before. Overall if there is a decline or something then you need to do the same thing regardless of on or off_session... you collect a new paymentmethod and try again.

#

But if you pass on_session and the issuer prompts 3DS, then the PaymentIntent will move to status: requires_action

#

And then you confirm again using confirmCardPayment with Stripe.JS to handle 3DS

#

If you have off_session set, and 3DS is required, then the PaymentIntent will just error for authentication_required

#

And that tells you that you need to bring the customer back on-session and attempt payment again