#joshuacs94
1 messages ยท Page 1 of 1 (latest)
Hi, let me help you with this.
๐
- Could you please give an example of the request result?
sure, wait a min
- If you already have saved Sources you can just use them as the Payment Method in the new API.
And how are you using the Sources/PMs then?
We still have to use stripe.customers.createSource to attach the ACH to the customer. I'd like to migrate that part to the PM API but its not possible yet, or at least I havent found a way to do it, because the Stripe token created by plaidClient.processorStripeBankAccountTokenCreate cant be used with the PM API, only with the Sources API.
But the fact that I cant attach the PM to the customer using the token created by Plaid is separate from the other problem, which is my main concern. Like stated in the docs, both APIs provide different views of the same underlying object, but Im not getting the metadata when using the PM API ๐
Why do you still need to create/attach Sources? How are you actually charging them?
Do you mean why do we still need to call stripe.customers.createSource?
Our customers configure their PMs separately, and then, when they need to pay for something, they choose one of those already configured PMs. To charge them, we use the Payment Intents API. In the past we were using Charges API for ACH and PI API for Cards, but now we managed to unify them and now we use the Payment Intents API for both types of payment methods.
I still don't understand why you use stripe.customers.createSource, based on your explanation.
Because we use Plaid and its Stripe integration...
But you don't collect the new Payment Methods with Plaid anymore, do you?
Just charging the existing ones, right?
Nop, we are still collecting ACH with Plaid
Why?
Thats a business decision that has nothing to do with me ๐
But again, thats not my main issue. The problem is that the metadata stored in the "Source view" isnt on the "Payment Method view" of the same underlying object
It's pretty much technical as the customer experience is almost the same. And I advice you to migrate to PMs fully, as it's becoming more difficult to support Plaid integrations.
I can report this to the the responsible team, but I can't guarantee when or if it will be fixed, especially given this is a deprecated integration.
But is has nothing to do with the Stripe integration of Plaid ๐ , Im creating an ACH Source with some metadata that isnt being copied over to the ACH Payment Method... I think its a Stripe problem here.
Yes, definitely. I am just saying it might not get fixed very quickly because it's a deprecated feature. You don't get that when using the current integration flow.
And whats the current integration flow?
Use payment_method_type: ["us_bank_account"]: https://stripe.com/docs/payments/ach-debit/accept-a-payment
But thats for accepting a payment and thats not what we are doing, we are collecting bank account details through Plaid.
Sure, I understand. In this case you can use the SetupIntent, but with payment_method_types: ["us_bank_account"]: https://stripe.com/docs/payments/save-and-reuse?platform=web&ui=elements
anyway, even if we migrate away from Plaid, that would be for the new ACH accounts, the old ones will still have not metadata when fetched through the PM API
Yep, and unfortunately that's just not something we built nor are we likely to (as noted that integration path is deprecated)
Guys
Whats the difference between a Card object and a Source object of type "card"?
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
that doesnt explain the difference, semantically speaking ๐
Well, what do you mean by 'difference'? In what context? They're both deprecated/old APIs that you should migrate from
In the context of having two objects to represent the same concept: a card. And yes, I know they are deprecated. I hope we migrate away from them soon once we move away from Plaid ๐
Nothing, really. They both can represent a card. A Source object is just a polymorphic object than can represent various types of payment methods (hence the type field)
I ask because the IDs of the sources created by Plaid follow the pattern ba_..., and if I try to fetch them using stripe.sources.retrieve it throws an error saying there is no source with such ID, but with stripe.customers.retrieveSource it works. I see Source object IDs use src_...
A ba_xxx object is something totally different: https://stripe.com/docs/api/customer_bank_accounts/object
But yes if/when attached to a Customer object then the retrieveSource method (deprecated) will return any/all 'sources' attached.https://stripe.com/docs/api/customers/object#customer_object-sources
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.