Testing with Connect

Before going live, use the following information to test your platform. If you need help after reading this, check out our answers to common questions or chat live with other developers in #stripe on freenode.

Creating accounts

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.

To test deferred account creation flow, you can:

  • Create a managed account, which requires no email address
  • Create a standalone account, using another email address you control
  • Create a standalone account, using a dummy email address such as “me+123@yourdomain.com”

As the connected account will not be used for live charges, the account does not need to be activated.

You should not connect the platform account to itself, as that fails to reflect the real world use of the platform, and makes debugging quite hard.

Identity verification

When creating test accounts that use Identity Verification, providing any image results in the user being marked verified. Alternatively, Stripe created two special images you can use instead of your own:

Complete file upload instructions are available on the Identity Verification page.

Trigger cards

These cards are used to trigger various conditions when testing tiered verification. See testing verification for more info.

Number Type
4000000000004202Triggers a verification stage.
4000000000004210Triggers a charge block.
4000000000004236Triggers a transfer block. code.

Test date of birth

These DOBs are used to trigger certain verification conditions.

Number Type
19000101This DOB will trigger an OFAC hit.

Test personal ID numbers

These personal ID numbers are used to trigger certain verification conditions. They are used under legal_entity[personal_id_number].

Number Type
000000000Successful verification. 0000 also works for SSN last 4 verification.
111111111Unsuccessful verification (identity mismatch)

Test business tax IDs

These business tax IDs are used to trigger certain verification conditions. They are used under legal_entity[business_tax_id].

Number Type
000000000Successful verification
000000001Successful verification as a non-profit
111111111Unsuccessful verification (identity mismatch)

Using OAuth

To make it extra convenient for you to build your OAuth integration, we’ve included a development client_id that will allow you to:

  • Set your redirect_uri to a non-HTTPS URL, or even localhost
  • Instead of having to fill out an entire account application while testing the connect flow, force-skip the account form
  • 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 mode applications

If using access_tokens, derived via the OAuth flow, you may generate only test access tokens using a development client_id, but may generate either live or test access tokens using a production client_id.

If you want to generate test access tokens for a production client_id, you can do so using 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 preferrable to authenticate using the Stripe-Account header, not an access token.

Sending transfers

You can also test transfers by using one of our test bank account numbers. These will work with any country, even though they have the format of US bank accounts.

Test mode will always have transfers enabled, and will never require identity verification or other interactive steps that are part of the managed account workflow.

Further reading

Check out the rest of the guide for help with your integration.