#ayush_rbi-invoicing
1 messages · Page 1 of 1 (latest)
👋 Welcome to your new thread!
⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1228406318763606027
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
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.
- ayushtomar5829_api, 6 hours ago, 12 messages
- ayushtomar5829_api, 2 days ago, 13 messages
Hey @torpid flame I recommend carefully reading https://docs.stripe.com/india-recurring-payments which goes in a lot of details on how this is supposed to work
ayush_rbi-invoicing
Yes I did a deep dive of it. My questions is if the invoice now requires a mandate. Am i expected to store and maintain it in my systems. Right now my setup intent stores the payment information in stripe at certain point in a month, We dont store setup intent id or payment method id or anything else from stripe apart from customer id and end of month I do invoicing. during invoicing I am required to send the mandateId. what is the expected way? can I retrieve mandateId through payment method id in cards? can i retrieve it directly through customer id?
India and RBI rules are extremely complex. It's highly discouraged usually to do a SetupIntent and then a one-off Invoice later. If you issue a one-off Invoice, the best approach is to get your customer back on session and have them authenticate the transaction via 3DS instead
its not a one-off. we have a huge set of customers who are going through this and their payment is failing. The combination of setup intent and one-off invoice currently is very simple and doesn't require us to store any info related to stripe IDs.Going with that understanding, we want to make minimal changes for the payment to go through indian CC customers
What do you mean "it's not a one-off"? You seem to literally be describing a one-off Invoice flow.
Like it's not a real and recurring Subscription with a set date and amount like 1st of the month every month right?
To answer your question, yes you are supposed to put the Mandate properly like documented in the doc you found: https://docs.stripe.com/invoicing/india-emandate-guide#use-mandate-invoice
That Mandate id is not on the card PaymentMethod. It's part of the SetupIntent result when you collected their card details so you do have to keep track of it carefully
by one-off i mean its not just 1 customer. we generate invoices of a lot of indian customers. the invoicing method used is one-off.
can I get the setup intent infromation from the payment method ID? this is increasingly complicated.
this is the flow i want to go through. because i only store customer id of stripe account and nothing else
GET customer ID -> default Payment method Id-> ???? -> setupintent Id->mandate Id
Ah yeah I see. My use of the word "one-off" doesn't mean "just one random customer" and more that you issue Invoices that are not part of a true recurring subscription cycle, which is what Mandate and India RBI rules are about
GET customer ID -> default Payment method Id-> ???? -> setupintent Id->mandate Id
yeah that really won't work and you really need to change your integration to fully adapt to this. India regulations are extremely strict. You don't just get a "random mandate id" and pass it around.
You have to carefully track and understand what the Mandate represents, when it was approved, what is or isn't allowed with it before you use it.
So your code/integration has to carefully keep track of Mandate acceptance and use those properly
so the only way to get mandate Id is setup intent id. and there is no way to get setupintent id from payment method id. 🥹
I mean there is, you can use https://docs.stripe.com/api/setup_intents/list#list_setup_intents-payment_method
it's just a really bad idea to do this as part of your payment flow. Using multiple sequential API requests to get to an id that should have been stored upfront is going to slow down your overall payment flow quite drastically
yup. Issue is usually there is no maintenance of different stripe ids in our system. for example we are not bothered with what paymentId is for our current default payment method. What I proposed is not at all need and its just some way to do it without storing data. (our mandates will be same type. ) so keepign track of what mandate we took what permissions is not useful/ important to us
Hi there. Taking over for koopajah as they have to step out
Do you have everything you need?
We still recommend storing mandate in your database when it's initially set up
okay 🥹 still a feature request will be that if we are paying through a default payment method. mandate id passing should not be an requirement,
that method has the mandate id attached to it. in case of multiple mandate ids to a payment method. it still makes sense to send which one but it should be optional.,