#supreeth-ach-subs

1 messages ยท Page 1 of 1 (latest)

cold jasperBOT
#

Hello! We'll be with you shortly. Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

dry tide
#

Hi, how can I help!

eager verge
#

sorry for that ~ updated previous message ^^^

#

screen shots for reference ^^^

#

let me know if you need more info

dry tide
#

I'm still investing this on my end, thank you for your patience

eager verge
#

no problem

dry tide
#

You'd need to make the default payment method before you update the Sub.

#

Can you try that?

eager verge
#

well i dont think thats the issue here because the same thing seems to be working for credit cards

#

so i tried with a test card and it worked

req_TB48nwmBVsS6Bm

dry tide
#

On the above reqeusts, that is the issue. Even if the PM is attached to the customer, unless set as the deafult it won't be charged.

eager verge
#

so just for my understanding it works differently for cards and ach?

so im not even talking about the accoutn being charged. the payment method is not even being attached to the customer.

its just super weired that cards work but the ach doesnt seem to work.

unless they work differently from each other

#

the first issue is that

the dashboard shows the ach account as the default payment method but when i check in the customer over view i dont not see the payment method at all. not being charged is secondary but its not being attached to the customer at all

dry tide
#

I thought you previously said 'here's where the problems start - the dashboard does show the ach account as the default payment method ~ thats awesome '. Did this change?

eager verge
#

im sorry for not being clear let me rephrase

our app used to accept paymets through credit cards. now we have a requirment to accept ach too. we currently use the stripe create setup intent api to show the payment modal on the client side.
so we updated out create setup intent api to show ach payments by doing the below
payment_method_types: ['card', 'us_bank_account']
we also updated our settings to activate ach payments.

the US bank account tab was shown on our tab and we used the stripe test intitution with success payment to try out the ach payments (we do have webhooks setup for successful/failed etc.. payments)

so here's what happened when we did this

  • the payment-failed webhook event was called
  • when we went into stripe to check what happened, the customers list screen showed the default payment as the ach account. (the first image i sent)
  • So we clicked on the customer, which took me into the customer's overview page.
  • in the customer's overview page's payment method section it was blank with no payment methods attached to the customer (the 2nd screenshot i sent)
  • as a result the charge failed

Note: the same process works perfectly fine for credit cards

the problem

  1. why is the customer list screen showing the ach account as the default payment method but not the customer overview page
  2. why does this process work perfectly for credit cards but not ach payments
cold jasperBOT
dry tide
eager verge
#

okay i can go run our services again

#

still the samer

#

same*

vestal shadow
#

๐Ÿ‘‹ I'm hopping in here to also take a look - give me a minute to catch up

eager verge
#

no problem

vestal shadow
#

Just to confirm - you're wondering why US Bank Accout (ACH) Payment methods aren't appearing in the dashboard, correct?

eager verge
#

i sent a screen grab just to make it clear

vestal shadow
#

Sorry to be more specific - they're appearing in the "List Customers" view, but for some reason not appearing when you see the overview for a specific Customer, right?

eager verge
#

yes also this works for credit cards perfectly fien but not for ach

vestal shadow
#

Yeah that's definitely odd - I'm guessing this is purely a UI/dashboard bug, and not an issue with your integration. When you try and create an Invoice using the Customer, does it work or do you get an error?

eager verge
#

no the payment doesnt seem to go through. the payment method is not being recognized at all.

vestal shadow
#

Ah! I see the failed attempt now - it looks like it's failing it doesn't have an associated mandate. When you set up the payment method did you make sure to set up the mandate?

eager verge
#

so i read this doc which states stripe does it for us if we are using the payment element. also this is a test account

#

i mean test site

#

so is there something im missing

vestal shadow
#

Yes, the Payment Element will display the mandate text for you, but additional data is actually needed in some flows to successfully create the Mandate. If you were confirming a payment/setup intent client-side then we'd automatically create the Mandate correctly, but if you're creating the Payment Method client-side then we do not create the mandate automatically for you

eager verge
#

so from what i understand
for one time purchases like say for an e-commerce site stripe creates a mandate. but when it comes to subscriptions and attaching it as a payment method we need to add our own mandates?

in that case how do we do it?

would you be able to point me to the docs which will help me set this up on our app.

vestal shadow
#

Not quite - it's not that Stripe creates a mandate for one-time purchases, it's that you're missing a step in your flow to correctly set up your Payment Method for future usage

eager verge
#

okay what would that step be? im sorry im trying to wrap my head around this.

vestal shadow
#

No need to be sorry!

eager verge
#

so i need to confirm the setup intent on the client and this would be fixed

#

this api?

vestal shadow
#

Yup, that's what it boils down to -

Right now I believe you're doing the following:

  • Create a trialing Subscription
  • Use Payment Element + createPaymentMethod to create a PM
  • You attach that PM to the Customer and set it as the default.

Instead, you should be doing this

  • Create a trialing Subscription
  • Grab a SetupIntent from pending_setup_intent on the Subscription and use that with the PaymentElement + confirmSetup to collect the PM and correctly set up the mandate
  • Update the Customer to make sure that PM is set as the default
eager verge
#

got it! and our legal team would need to write a seperate mandate page?

#

our text rather

#

or*

vestal shadow
#

Nope! Using the Setup Intent + Payment Element should display the mandate text you need

eager verge
#

just a suggestion - can the doc be updated to make it more visible that a PM needs to confired. maybe its me who missed.

vestal shadow
#

๐Ÿ‘

eager verge
#

thank you sooo much !this was super helpful

#

๐Ÿฅณ

vestal shadow
#

happy to help! ๐Ÿ™‚

eager verge
#

let me give this a shot

cold jasperBOT
#

supreeth-ach-subs

eager verge
#

@vestal shadow this solved the issue ! thank you soo much

vestal shadow
#

hurray! Glad you got it working