Testing with Connect
Before going live, use the following information to test your Connect integration.
Testing topics:
Testing payouts
For Express and Custom accounts, use the following test bank and debit card numbers to trigger certain events during testing of payouts. These values can only be used when creating or updating Custom accounts via the API in test mode.
To create test mode payouts for a Standard Stripe account, use any valid bank account details (e.g., your own). Test mode payouts mimic a live payout but are not processed with the bank.
Test mode always has payouts enabled, as long as valid external bank information and other relevant conditions are met, and never requires real identity verification or other interactive steps that are part of the Custom account workflow.
Bank numbers
| Account | Routing | Type |
|---|---|---|
000123456 |
110000 |
Payout succeeds. |
111111116 |
110000 |
Payout fails with a no_account code. |
111111113 |
110000 |
Payout fails with an account_closed code. |
222222227 |
110000 |
Payout fails with an insufficient_funds code. |
333333335 |
110000 |
Payout fails with a debit_not_authorized code. |
444444440 |
110000 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
000123456789 |
110-0000 |
Payout succeeds. |
000111111116 |
110-0000 |
Payout fails with a no_account code. |
000111111113 |
110-0000 |
Payout fails with an account_closed code. |
000222222227 |
110-0000 |
Payout fails with an insufficient_funds code. |
000333333335 |
110-0000 |
Payout fails with a debit_not_authorized code. |
000444444440 |
110-0000 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
000123456789 |
11000-000 |
Payout succeeds. |
000111111116 |
11000-000 |
Payout fails with a no_account code. |
000111111113 |
11000-000 |
Payout fails with an account_closed code. |
000222222227 |
11000-000 |
Payout fails with an insufficient_funds code. |
000333333335 |
11000-000 |
Payout fails with a debit_not_authorized code. |
000444444440 |
11000-000 |
Payout fails with an invalid_currency code. |
| Account | Sort | Type |
|---|---|---|
00012345 |
108800 |
Payout succeeds. |
11111116 |
108800 |
Payout fails with a no_account code. |
11111113 |
108800 |
Payout fails with an account_closed code. |
22222227 |
108800 |
Payout fails with an insufficient_funds code. |
33333335 |
108800 |
Payout fails with a debit_not_authorized code. |
44444440 |
108800 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
000123-456 |
110-000 |
Payout succeeds. |
111111-116 |
110-000 |
Payout fails with a no_account code. |
111111-113 |
110-000 |
Payout fails with an account_closed code. |
222222-227 |
110-000 |
Payout fails with an insufficient_funds code. |
333333-335 |
110-000 |
Payout fails with a debit_not_authorized code. |
444444-440 |
110-000 |
Payout fails with an invalid_currency code. |
These test IBANs work for any EU country and any valid currency for that country. The IBANs specified here are German IBANs. However, you can simply replace DE with the country of your choosing. See here for country codes.
| Number | Type |
|---|---|
DE89370400440532013000 |
Payout succeeds. |
DE62370400440532013001 |
Payout fails with a no_account code. |
DE89370400440532013002 |
Payout fails with an account_closed code. |
DE89370400440532013003 |
Payout fails with an insufficient_funds code. |
DE89370400440532013004 |
Payout fails with a debit_not_authorized code. |
DE89370400440532013005 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
00012345 |
1100000 |
Payout succeeds. |
11111116 |
1100000 |
Payout fails with a no_account code. |
11111113 |
1100000 |
Payout fails with an account_closed code. |
22222227 |
1100000 |
Payout fails with an insufficient_funds code. |
33333335 |
1100000 |
Payout fails with a debit_not_authorized code. |
44444440 |
1100000 |
Payout fails with an invalid_currency code. |
| Account | Type |
|---|---|
000000001234567897 |
Payout succeeds. |
000000111111111117 |
Payout fails with a no_account code. |
000000111111111133 |
Payout fails with an account_closed code. |
000000222222222224 |
Payout fails with an insufficient_funds code. |
000000333333333331 |
Payout fails with a debit_not_authorized code. |
000000444444444448 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
0000000010 |
110000 |
Payout succeeds. |
1111111016 |
110000 |
Payout fails with a no_account code. |
1111111013 |
110000 |
Payout fails with an account_closed code. |
2222222027 |
110000 |
Payout fails with an insufficient_funds code. |
3333333035 |
110000 |
Payout fails with a debit_not_authorized code. |
4444444040 |
110000 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
000123456 |
1100-000 |
Payout succeeds. |
111111116 |
1100-000 |
Payout fails with a no_account code. |
111111113 |
1100-000 |
Payout fails with an account_closed code. |
222222227 |
1100-000 |
Payout fails with an insufficient_funds code. |
333333335 |
1100-000 |
Payout fails with a debit_not_authorized code. |
444444440 |
1100-000 |
Payout fails with an invalid_currency code. |
| Account | Routing | Type |
|---|---|---|
000123456789 |
110000000 |
Payout succeeds. |
000111111116 |
110000000 |
Payout fails with a no_account code. |
000111111113 |
110000000 |
Payout fails with an account_closed code. |
000222222227 |
110000000 |
Payout fails with an insufficient_funds code. |
000333333335 |
110000000 |
Payout fails with a debit_not_authorized code. |
000444444440 |
110000000 |
Payout fails with an invalid_currency code. |
Debit card numbers
Use these test debit card numbers to test payouts to a debit card. These can only be used with test secret keys.
| Number | Token | Type |
|---|---|---|
| 5200828282828210 | tok_mastercard_debit_transferSuccess | Mastercard debit. Payout succeeds. |
| 4000056655665556 | tok_visa_debit_transferSuccess | Visa debit. Payout succeeds. |
| 4000056655665564 | tok_visa_debit_transferFail | Visa debit. Payout fails with a could_not_process code. |
Creating accounts
You can create any type of test account you need: Standard, Express, or Custom. You can also create multiple test accounts, e.g., representing multiple countries.
To test the OAuth flow for connecting another account, create a new Stripe account using another email address and then take that new account through the OAuth flow. This works for both Standard and Express accounts.
To test deferred account creation flow, create a standard account using another email address you control or a dummy email address such as [email protected].
To test Express accounts without providing a real phone number, use 000 000 0000 as the phone number and 000-000 as the SMS code when prompted.
You can create Custom test accounts using the code demonstrated in the quickstart.
As the connected account will not be used for live charges, the account does not need to be activated.
Using OAuth
To easily test an OAuth integration, the development client_id allows you to:
- Set your
redirect_urito a non-HTTPS URL - Set your
redirect_urito localhost - Force-skip the account form instead of having to fill out an entire account application
- Get test access tokens for connected users
You’ll be able to find your development client_id in your platform settings.
Generating test keys for live applications
When using an access_token derived via the OAuth flow, you can only generate test access tokens using a development client_id, but may generate either live or test access tokens using a production client_id.
To generate a test access token for a production client_id, use a refresh_token:
curl https://connect.stripe.com/oauth/token \
-d client_secret=sk_test_BQokikJOvBiI2HlWgH4olfQ2 \
-d refresh_token=REFRESH_TOKEN \
-d grant_type=refresh_token
Note that it’s still preferable to authenticate using the Stripe-Account header, not an access token.
Identity verification
When creating test accounts that use Identity Verification, providing any image results in the user being verified. Alternatively, Stripe created two special images you can use instead of your own:
- A verified image that causes the user to be automatically marked verified
- An unverified image that causes the user to be automatically marked unverified
Complete file upload instructions are available on the Identity Verification page.
Trigger cards
Use these magic card numbers on a charge to trigger various conditions when testing tiered verification.
| Number | Token | Type |
|---|---|---|
4000000000004202 |
tok_visa_triggerVerification |
Triggers a verification stage. |
4000000000004210 |
tok_visa_triggerChargeBlock |
Triggers a charge block. |
4000000000004236 |
tok_visa_triggerTransferBlock |
Triggers a payout block. |
Test date of birth
Use this magic DOB to trigger a certain verification condition.
| Number | Type |
|---|---|
19000101 | This DOB will trigger an Office of Foreign Assets Control (OFAC) alert. |
Test personal ID numbers
Use these magic personal ID numbers—for legal_entity[personal_id_number]—to trigger certain verification conditions.
| Number | Type |
|---|---|
000000000 | Successful verification. 0000 also works for SSN last 4 verification. |
111111111 | Unsuccessful verification (identity mismatch) |
Test business tax IDs
Use these magic business tax ID numbers—for legal_entity[business_tax_id]—to trigger certain verification conditions.
| Number | Type |
|---|---|
000000000 | Successful verification |
000000001 | Successful verification as a non-profit |
111111111 | Unsuccessful verification (identity mismatch) |