How to connect plaid with stripe in sandbox mode - stripe-payments

I'm trying to connect Plaid with Stripe for some tests and investigation (stripe ACH). Does plaid provide this possibility for using in sandbox, and without real data? Problems in the bank account, as I understand for connection is necessary to provide real bank account, but I don't have this one. How can I solve this?

Yes. From the Plaid docs:
"Plaid's Sandbox API environment is compatible with Stripe's "test mode" API. To test the integration in Sandbox mode, simply use the Plaid Sandbox credentials when launching Link with a link_token created in the Sandbox environment. The Stripe bank account token created in the Sandbox environment will always match the Stripe bank test account with account number 000123456789 and routing number 110000000, and with the Stripe account that is linked in the Plaid developer dashboard.
Use Stripe's ACH API in test mode to create test transfers using the bank account tokens you retrieve from Plaid's Sandbox API environment."

Related

Plaid + Stripe ACH (Developer Mode): Do I need to use a stripe production key

Short story, I am able to successfully use the Plaid API (connected to my stripe account) to get a stripe bank token in sandbox mode.
From there, I can add that bank token to a customers profile in my stripe account (again in test mode).
Now I'm trying to use the plaid developer key instead of sandbox. I'm able to verify my real world bank account via plaid and get a bank token back, but when i try to add that token to my stripe account I get the following error:
Invalid Request: No such token: 'btok_xxxxxxxxxxxDequ'; a similar object exists in live mode, but a test mode key was used to make this request.
This seems to indicate when calling the Stripe API I need to use the production stripe key instead of the test key.
Since stripe doesn't have a "developer" mode like plaid, my question is what happens if I do this? Does the bank account get added to a real customer account (I assume it does).
AND if I attempt to make a charge using this bank token I got back from plaid via developer mode, will this make an actual charge in stripe? or does stripe know the difference and not make an actual charge (withdrawal) for my bank account?
I tried to go through plaid documentation, but there is very little information I could extract about the developer mode.
Thank you for any help you guys can provide.

Transfer funds to and from Plaid Sandbox Bank Account with Stripe ACH

I'm building a demo app where I want to transfer money to and from the test bank account provided in plaid sandbox (the app is just for proof of product so I would like to avoid using live credentials). I use plaid to validate bank account details and a stripe integration to handle ACH charges. I have everything working from a code perspective and end up getting a bank account token which I charge, however the charge is on the stripe test bank account and not the plaid sandbox test bank account. I see in the docs this is expected behavior (not sure why), but I want to be able to make an ach charge on the plaid test bank account. I know this may not be the best place to ask this, but if I spend another second talking with Ethan the Stripe AI Bot, I might lose it. Hoping a stripe/plaid expert can help me out, thanks!

Stripe Onboarding and external accounts

I am using Stripe Onboarding on my marketplace to ease the process of getting my customers info (custom accounts). But it does not ask the user his external (bank) account information so payouts stay disabled. Is it normal ?
I am using:
type: 'custom_account_verification',
collect: 'eventually_due',
using the other type does not change anything
Stripe does not collect external account information (bank account or debit card) today in the Hosted Onboarding page. They focus on collecting personal information about the owner(s) of the account/company.
Today, you need to collect this information separately on your website. The easiest solution is to collect bank account details and tokenize this client-side with Stripe.js and then create an external account server-side via the API.
Just for reference Stripe is partnering with Plaid for this.
https://stripe.com/docs/ach#using-plaid
https://plaid.com/docs/stripe/

Stripe to collect recurring ACH payments with Plaid verification

I am currently able to collect single ACH payment using Plaid and Stripe. Users on the app make their payments using the bank login models provided by the plaid.
However, I could not find any resources regarding storage of plaid authorized bank tokens so that it can be used later for automated recurring payments.
Looks like Plaid has documentation on this available here: https://plaid.com/docs/stripe/
Specifically, step 4 details the endpoint used to exchange the Plaid token and account ID from a Stripe bank account token.

Testing with Stripe's test account with real(live) created stripe tokens

I have to use a live database to test stripe payments using customer stripe tokens that are already stored in the database. This are real customer stripe tokens based on real credit cards. But I am using the test account credentials to make payments to. I don't want to make real payments to the stripe account.
My question is can I and how can I use this live tokens to make test payments to my test account.
You cannot use live resources in test mode or vice-versa. The "test" and "live" parts of your Stripe accounts are two different environments that cannot communicate with each other.
You'd need to create customers in test mode, using the testing card numbers that Stripe provides, in order to use them in test payments.

Resources