Integrating with the Express dashboard

    Express provides its own account management and reporting features for users, built into a dashboard hosted by Stripe.

    When the user visits their Express dashboard, they can modify account information, view recent and upcoming payouts, and perform other relevant tasks. Instead of logging in to a dedicated Stripe account, users reach their dashboard through your platform.

    You can use the Create Login Link API to generate a single-use URL that allows the user to access the dashboard:

    account = Stripe::Account.retrieve("{CONNECTED_STRIPE_ACCOUNT_ID}")
    account.login_links.create()
    account = stripe.Account.retrieve("{CONNECTED_STRIPE_ACCOUNT_ID}")
    account.login_links.create()
    $account = Account::retrieve("{CONNECTED_STRIPE_ACCOUNT_ID}");
    $account->login_links->create();
    Account account = Account.retrieve("{CONNECTED_STRIPE_ACCOUNT_ID}");
    LoginLink link = account.getLoginLinks().create();
    stripe.accounts.createLoginLink(
      "{CONNECTED_STRIPE_ACCOUNT_ID}",
      function(err, link) {
        // asynchronously called
      }
    );
    loginLinkParams := &stripe.LoginLinkParams{
      Account: "{CONNECTED_STRIPE_ACCOUNT_ID}",
    }
    
    link, err := loginlink.New(loginLinkParams)

    When the request completes successfully, the response includes a generated dashboard URL:

    {
      "object": "login_link",
      "created": 1495580507,
      "url": "https://stripe.com/express/Ln7FfnNpUcCU"
    }
    

    The URL expires a brief period after you retrieve it from the login_link API, so you should use it promptly. Typically, you should use the API to generate the link on demand when the user intends to visit their dashboard.

    In the user interface for your website or mobile application, you could have a button that offers to take the user to their dashboard. When the user clicks the button, your application fetches the URL from the login_link API and then redirects the user to the address.

    Stripe uses two-factor authentication to prevent unauthorized changes to the user’s payout information. Stripe typically requires one factor of authentication, such as a valid login link, a previous session, or phone authentication, when a user logs in to view their payouts and change basic information. When a user changes their payout information, however, Stripe sends them either an SMS message or an e-mail with a code that they must provide for verification.