#Rob Coursera - ACH Credit Refunds
1 messages ยท Page 1 of 1 (latest)
Hello! Not sure I understand your question; why would you want to generate the link without a refund?
Yes it's a strange question! I am just trying to understand how they are connected. Since, from what I can see, this generated link allows Stripe to send money to the customer bank account. So how does that link to the refund, or what would happen if there was no "refund pending"?
If you're refunding money you need a way to get the money from Stripe to the Customer. With ACH Credit the customer sends money to your account via Stripe directly using the bank account info we generated for them, and there's no way to reverse that other than asking them for where their refund should go. Does that make sense?
Yes that makes sense. I'm specifically asking what would happen if we didn't initiate a refund, we generate this link, and the customer enters their bank details to receive their funds. Would they still get their funds? Would it fail?
Sorry, not sure I understand. If there's no refund what funds would be going to the customer?
That's what I'm asking you lol
Since it is physically possible for me to generate this refund webpage link without actually initiating a refund, what would happen?
Another way to think about it is, let's say we do a normal refund here. Technically there's nothing stopping the customer from using the same link twice and trying to get funds again, is there?
When you create a refund for an ACH Credit Stripe earmarks the funds for that refund to be sent to the customer when they provide their bank account details at the link you're asking about. Once those funds are sent to the customer that's it, it's done.
There's no reason to generate the link, ask for bank account details, send funds, etc. without a refund.
I'm sorry, I know you keep mentioning there is no reason to do it. However, the only way this link is tied to the funds to be sent is by the source ID and the source client secret, correct? Both of which do not change as far as I'm aware. So "technically" one could use this link over-and-over, no?
No.
Sorry, I'm really trying to understand, but I think I'm still missing some key piece of information. ๐
So let's keep it simple. Why no?
Because once it's used (meaning the refund succeeded) it won't work anymore.
So that's what I am trying to understand. I am going to state some facts that I think to be true, let me know if they are false:
- A Stripe customer has one ACH Credit source which does not change
- This Source also has a client secret which does not change
- The generated link uses both the source ID and Source client secret to take the funds
- The customer could use the same link again, since the source and client secret are still valid
What I am wondering is, internally does Stripe check to see if there is a refund on the source? I don't think they do, since the actual refund amount is also sent as part of the link URL!
- A Stripe customer has one ACH Credit source which does not change
Correct.- This Source also has a client secret which does not change
I think this is correct, but am not 100% certain.- The generated link uses both the source ID and Source client secret to take the funds
Yep.- The customer could use the same link again, since the source and client secret are still valid
Maybe this is the piece I'm not understanding. What exactly do you mean by "use the same link again"?
Okay cool. So here is an example. I have created (in test mode) a customer and invoice (open). This customer has an ACH Credit source, which has no funds currently.
I have not created any sort of refund. However. I can generate the refund link for this ACH source like this:
https://stripe.com/sources/refund?amount=900¤cy=usd&source=src_1Jmn5iHz07ypukwLwinczJsQ&client_secret=src_client_secret_SmaPL7Ar2gMDqnlj6KO8JQGq
The page opens just fine and all seems valid
My question is, what would happen if someone was to submit this form, given there is no actual refund right now
Nothing should happen. If there aren't actually $9 to refund then there's nothing for Stripe to do with the information provided.
You're asking if someone can use a link like this to attract arbitrary amounts from you/Stripe just by changing the value in the URL?
That wasn't my initial concern but yes I guess that's also my question
So would there be an error message? Would Stripe silently just do nothing?
Honestly I don't know, I've never tried it.
Haha okay now we're getting down into it
Any chance you could try? Or check the code base?
Have you tried it in test mode?
I just filled out the link you gave me. Did anything happen on your end?
Nothing should happen since there aren't actually funds to send (since there's no refund).
Let me see what I can find - hang on for a few minutes
Thank you!
Okay, so from what I understand that link is not actually what's triggering the refund - that link is just asking for some the attributes needed to complete the refund (that we already have in flight). Just generating the link and using it won't have any affect if there's no actual refund for the funds to go to
Does that make sense?
Okay that makes sense, thank you for checking
Any idea if there would be an error message or just a silent error?
Really, all that link is doing is updating the source with refund specific information - it may silently error, but I'm thinking it may just update source (which won't really have any effects so it's a no-op).