#isoaxe-ACH
1 messages · Page 1 of 1 (latest)
Hi there, the payment settings will be passed on to invoices created by the subscription.
Do you want to charge your customer automatically or you prefer to send invoices to them and ask them to pay manually?
Hi Jack. I want to charge them automatically.
Got it, the payment_settings may not be what you need in this case.
How do you create the subscription? are you using checkout session API?
No, I'm using the <PaymentElement/>.
Set up the customer and subscription much the same as done here.
I'm using React so adding the <PaymentElement/> is different to what is shown here on the frontend. But the end result is the same.
What you mean by But the end result is the same ?
What I mean is I'm able to trigger the Stripe UI to collect customer payment details and save to the server. Which is what the linked documentation describes, but in plain JS.
OK, so long you have collected the payment method and set it ot the customer's invoice_settings.default_payment_method, Stripe will use this payment method to charge the invoice automatically.
Yes, I've set the default already.
So all these events that get triggered in test mode, would they usually happen over 2-5 days?
ACH payment method will take up to 4 business days to receive acknowledgement of their success or failure. see https://stripe.com/docs/payments/ach-debit
My question is whether the events all get triggered immediately in test mode. I assume the answer is yes, but just checking that I'm understanding the results correctly.
yes they are immeidate in test mode, see https://stripe.com/docs/ach-deprecated#testing-ach for vaiour test routing numbers
I also wanted to confirm that no further action is required on my behalf regarding presenting a mandate. https://stripe.com/docs/payments/ach-debit/accept-a-payment#web-collect-mandate-and-submit
So I'm using the <PaymentElement/> api as mentioned before. It works a bit differently to this and supposedly handles the mandate: see here https://stripe.com/docs/payments/ach-debit#mandates
However, I never saw anything similar to the mandate acknowledgement text shown below.
My question is do I need to provide this mandate acknowledgment separately if using the <PaymentElement/> api like I'm doing? It's stated as being handled already in the linked docs but I never saw similar text whilst in test mode.
If you are using PaymentElement, you need add the mandate acknowledgement text in the page by yourself.
Oh really? Because it does say that it's managed automatically here:
Do you see mandate in your payment element integration?
Well I don't see text similar to the sample text posted above. There is some text, I'll post it here. Not sure if it counts as a 'mandate'.
So the generic Stripe modal gets presented after institution selection (you can kind of see that in the background).
That's all that gets presented actually. After clicking 'Agree', the user selects their account and completes the payment flow.
Sorry I was wrong, the payment element do provide a mandate acknowledgement.
it's the fine print right below the Bank account field.
This is the first (PaymentElement) modal before the generic Stripe one. I don't see it there.
Or where do you mean exactly?
The small text at the bottom
Ah, I see. I originally thought that they needed to be presented to the user to read and agree rather than just a link.
Thanks for clarifying.
One final question.
I currently have a webhook set up to listen for an invoice.paid event. This runs some logic where I update some data in Firebase's Firestore.
Does it make sense to listen for this event and check that the paid field therein evaluates to true? That's what I'm currently doing. It should only happen after payment is verified.
Or should I Iisten for invoice.payment_succeeded? Not sure what the practical difference is tbh.
I use ACH and card payments. The two events are usually triggered one after the other. Is there a reason for preferring payment_succeeded over paid.
invoice.paid includes out-of-band payments (i.e., payment made outside of Stripe), and invoice.payment_succeeded occurs for Stripe payments only.
So if your customer only use Stripe for payment, you can listen to either of these two. If you allow your user to pay out-of-band, you should listen to invoice.paid
I see. Thanks for the clarification. Useful to know.
no problem and sorry for the delayed response