{
    "componentChunkName": "component---src-templates-article-page-template-js",
    "path": "/how-to/provider-onboarding-and-identity-verification/",
    "result": {"data":{"markdownRemark":{"frontmatter":{"title":"How to handle provider onboarding and identity verification on FTW","slug":"provider-onboarding-and-identity-verification","updated":"2022-10-25T00:00:00.000Z","category":"how-to-payments","ingress":"This article describes how to take Stripe Connect Onboarding into use in your frontend application or how to implement your own flow.","skills":null},"htmlAst":{"type":"root","children":[{"type":"element","tagName":"h2","properties":{"id":"introduction","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#introduction","ariaLabel":"introduction permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Introduction"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Flex offers two different mechanisms for creating a provider\nverification process where providers can enter all necessary and\nrequired information for them to receive payments. You can either choose\nto use ready-made tools provided by Stripe\n("},{"type":"element","tagName":"a","properties":{"href":"https://stripe.com/en-fi/connect/onboarding","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"Stripe Connect Onboarding"}]},{"type":"text","value":")\nor implement your own flow."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This article describes these two approaches."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"stripe-connect-onboarding","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#stripe-connect-onboarding","ariaLabel":"stripe connect onboarding permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Stripe Connect Onboarding"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Regulatory aspects of provider onboarding can be challenging and\nchanging rapidly. Stripe Connect Onboarding provides ready tools for\nmeeting the requirements and reducing the operational complexity of\nself-managing the onboarding flow and identity verification. Below are\nlisted the changes required to implement Stripe Connect Onboarding. If\nyou are using the latest Flex Template for Web (FTW-daily v4.0.0 or\nFTW-hourly v5.0.0 or later, or any FTW-product), you need to complete\nonly the first step - if you are upgrading your own implementation,\nfollow the rest of the instructions."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"1-enable-stripe-connect-onboarding-in-stripe-dashboard","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#1-enable-stripe-connect-onboarding-in-stripe-dashboard","ariaLabel":"1 enable stripe connect onboarding in stripe dashboard permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"1. Enable Stripe Connect Onboarding in Stripe Dashboard"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You need to navigate to\n"},{"type":"element","tagName":"a","properties":{"href":"https://dashboard.stripe.com/account/applications/settings","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"Connect settings page"}]},{"type":"text","value":"\nin your Stripe Dashboard. For the Connect onboarding to work, you need\nto provide "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"name"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"color"}]},{"type":"text","value":", and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"icon"}]},{"type":"text","value":" for your marketplace."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/dee6d/stripeDashboard-updated.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 63.52201257861635%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAABxklEQVQ4y31Ty0ocQRTtn3DlJrgRQxZB1IWQkPxJlllk5+eEkETEbPIB4sAwM1GQQJSMwQQcQg/jOJqefpTd04969An16Me0oxduV3Or7ulzz6m2bHuENM2QpKlas4yCUoYkSVVNroxzyMjzvEyR56r2exChdeSie+LDJxQWIaECkk2cc8xmMWSNMQYhhKrlplk/YcD16gUUw3GC0SRBmglYsrFokBHHCfyAKJZlGvBmci4anwGs6ot6QzL857iYuj5cL4DrEwRmikIaJYdJSYAqUhrDqusiQx4KwwjRLNbayT3OIRqTNKPYs+piq5HTDM7Ug+N4IOQOKeOggE6j52NpyRHrgFkUgVOqNFKMJ2NMv3XgnhyDhXeajRAPA/LiShiA4M8F4tubcpTR1y/obD9H98U6/POf+uwCpnOm1IuBbcO9vlEsZQz3P6O9sYbe6y14P74rT3PtAJq9C00JB5fwricV4O4HHK4uo/tqE6TXBmZhBboIsFnkV0NEng/OmAbc+4jWsyfovtwAufhVjVxz9x5g+RfUtMgNoP3pPQ5WltDefIqgfzan96MM1X1T78ZBY9Ztu4XTt2/Q33mHyP77oMsF4H9sgeKOUTSKtwAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/82e29/stripeDashboard-updated.webp 159w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/ef33f/stripeDashboard-updated.webp 318w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/f1837/stripeDashboard-updated.webp 635w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/29549/stripeDashboard-updated.webp 953w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/c5420/stripeDashboard-updated.webp 1270w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/9fd18/stripeDashboard-updated.webp 2490w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/8b9b5/stripeDashboard-updated.png 159w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/fa108/stripeDashboard-updated.png 318w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/53fb6/stripeDashboard-updated.png 635w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/5a426/stripeDashboard-updated.png 953w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/91155/stripeDashboard-updated.png 1270w","/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/dee6d/stripeDashboard-updated.png 2490w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/7aeaf0c4a1d0e036db6a975113ee34b0/53fb6/stripeDashboard-updated.png","alt":"Stripe dashboard","title":"Stripe dashboard","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Following steps are already implemented in FTW-daily v4.0.0 and\nFTW-hourly v5.0.0 or later - and in FTW-product"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In FTW there are new components\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/tree/master/src/containers/StripePayoutPage","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"StripePayoutPage"}]},{"type":"text","value":",\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/tree/master/src/forms/StripeConnectAccountForm","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"StripeConnectAccountForm"}]},{"type":"text","value":",\nand a new shared duck file\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/tree/master/src/ducks/stripeConnectAccount.duck.js","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"stripeConnectAccount.duck.js"}]},{"type":"text","value":"\nwhere the Connect onboarding is mostly handled. You can also check out\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/pull/1234","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"PR #1234"}]},{"type":"text","value":" where you\ncan find all the code changes."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"2-creating-provider-stripe-account","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#2-creating-provider-stripe-account","ariaLabel":"2 creating provider stripe account permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"2. Creating provider Stripe Account"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"With Stripe Connect Onboarding, you need to collect minimum information\nfrom your providers when creating a\n"},{"type":"element","tagName":"a","properties":{"href":"https://www.sharetribe.com/api-reference/marketplace.html#create-stripe-account","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"Stripe Account"}]},{"type":"text","value":"\nfor them. It's recommended for you to pass the following information in\nthe create-stripe-account call:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"country"}]},{"type":"text","value":": A mandatory field determining the country of residence for\nthe provider."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"bankAccountToken"}]},{"type":"text","value":": Stripe\n"},{"type":"element","tagName":"a","properties":{"href":"https://stripe.com/docs/api#create_bank_account_token","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"bank account token"}]},{"type":"text","value":"\nfor the user. Recommended to pass in at this phase to minimize the\nsteps in the onboarding process."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"requestedCapabilities"}]},{"type":"text","value":": Required capabilities for payments to work in\nFlex are "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"card_payments"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"transfers"}]},{"type":"text","value":". You can read more about\ncapabilities from\n"},{"type":"element","tagName":"a","properties":{"href":"/docs/legacy/operator-guides/stripe-provider-onboarding-and-capabilities/"},"children":[{"type":"text","value":"our article regarding Capabilities"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/9395f/stripePayoutForm.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 84.27672955974843%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAACVklEQVQ4y42UXU/iQBSG+fPGC9Tw0RaKCdACAt6Z7A/wQldv3YS9MnHNIkKhpR/MR1vh3ZyBqrh11yZv5nSm55n3zJm0wFwXruNArlZIpISUEkmSIE3TLylm2zzuueCjOxSsVgutZhO2ZaFj27AsC7Zto9vtotfrqfGjaD5boxySbVuw2y0UNE2HruvQNA0nJydot9t4fHzEZDLB09OTGrM403g8xv39vdqc8mq1GgyjBqNWQ4Fe6vU6qtUqDg8PMRgMIISA67qYzWZYLpfIe6jcfr8PwzDQaDRgmqZSgSYIWi6XcXBwoEoJgkC5zDSfz9Wc7/vwPA+cc3XW9C05JEMEo/EVSA6LxaJyyBhTkOl0qpwuFgs4jqPGzDVBqWTKywVWKhVVMpVBJROUkqjjeQ857HQ6nwOp5OwMwzDE3HGwWa+32ZvNG2kXE7C7Kzk7vz0gLZRKJQyHQ+Vu4XvwoxArwcBjiRRrpJutaBshJc56PXVDMphqyrblhprQtCr6/QGSWCAWAVjkYRW6kDxAGkdIZQQmlhBxAMHZrst6vsNtYyroDwZIBYP//ABv8gD/+RdC5zdW8zESf4aL50t8m17ihTOcETDP4Rtw61CwCNyfgwcLiNCFCBYqJsnQRRJ5YFG4B3y9h++B1Onh+TleAHAZYyWkEsU8jsHUu1Bxul6rBur/Amq6jnaziR/XVxjd3mB08z1XP29vcHd9BfoPUF4uMDtLXddQKhZRPjpC5fgTqbVj1Hew7Pz+cphB66aJxunpf/URtg/cwRR0d43ML4g2N985/AOmDEPPVyletAAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/82e29/stripePayoutForm.webp 159w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/ef33f/stripePayoutForm.webp 318w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/f1837/stripePayoutForm.webp 635w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/29549/stripePayoutForm.webp 953w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/e2399/stripePayoutForm.webp 1090w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/8b9b5/stripePayoutForm.png 159w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/fa108/stripePayoutForm.png 318w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/53fb6/stripePayoutForm.png 635w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/5a426/stripePayoutForm.png 953w","/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/9395f/stripePayoutForm.png 1090w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/206aaf3a74a3e2e4d1dcb840f5630729/53fb6/stripePayoutForm.png","alt":"Creating Stripe account","title":"Creating Stripe account","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Note:"}]},{"type":"text","value":" In the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"EditListingWizard"}]},{"type":"text","value":" component, the modal with\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"StripeConnectAccountForm"}]},{"type":"text","value":" is shown if the user doesn't have a Stripe\nAccount yet or if there is some information missing from the account.\nThe modal will be shown only if the user is publishing the listing. This\nmeans that users can update already published listing even if their\nStripe Account is in the restricted state but they can't publish new\nlistings."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"3-fetching-information-about-a-stripe-account","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#3-fetching-information-about-a-stripe-account","ariaLabel":"3 fetching information about a stripe account permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"3. Fetching information about a Stripe Account"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If the user already has a Stripe Account you need to fetch the\nup-to-date account data from Stripe through Flex API. This way we can\nwarn the users if there is some required information missing from their\nStripe Account."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The account data is returned after each create and update Stripe Account\nAPI call so there is no need for separate fetch API call in these cases."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In FTW the Stripe Account is fetched in\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/blob/a107a7eae19cfc9196de81816af2c5ca5a676770/src/containers/StripePayoutPage/StripePayoutPage.duck.js#L73","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"loadData"}]}]},{"type":"text","value":"\nfunction on "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"StripePayoutPage.duck.js"}]},{"type":"text","value":". Quite similar "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"loadData"}]},{"type":"text","value":"\nfunciton is also used on "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"EditListingPage"}]},{"type":"text","value":". More information about data\nloading you can find from the article\n"},{"type":"element","tagName":"a","properties":{"href":"/docs/legacy/ftw/how-routing-works-in-ftw/"},"children":[{"type":"text","value":"How routing works in FTW"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"After the Stripe Account has been fetched we need to check\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"requirements"}]},{"type":"text","value":" of the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"stripeAccountData"}]},{"type":"text","value":" attribute which contains the\nrelated\n"},{"type":"element","tagName":"a","properties":{"href":"https://stripe.com/docs/api/accounts/object","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"Stripe Account Object"}]},{"type":"text","value":". If\nthere are any fields in "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"past_due"}]},{"type":"text","value":" or "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"currently_due"}]},{"type":"text","value":" it means that\nthose fields need to be collected to keep the account enabled. In other\nwords, there are requirements missing. If there are no fields in\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"past_due"}]},{"type":"text","value":" or "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"currently_due"}]},{"type":"text","value":" it means that the verification is\ncompleted for now. It is still possible that there might be new fields\nto be collected if the account reaches the next volume thresholds."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"4-creating-stripe-account-link","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#4-creating-stripe-account-link","ariaLabel":"4 creating stripe account link permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"4. Creating Stripe Account Link"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Stripe Account Links are a mechanism for enabling your providers to\naccess Stripe Connect Onboarding UI. You need to\n"},{"type":"element","tagName":"a","properties":{"href":"https://www.sharetribe.com/api-reference/marketplace.html#create-stripe-account-link","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"create an account link"}]},{"type":"text","value":"\nand provide the return URLs for success and failure cases. After\ncreating an account link the user will be redirecet to Connect\nonboarding."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/50f6e/connectOnboarding-updated.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 97.48427672955974%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAABYlAAAWJQFJUiTwAAAB10lEQVQ4y5WU6U4bMRSF8zgoLVtJAoGSgCKlqRAikRCifdhMEoJYnqBI6QotEhLZZjyL7ZmDrmcIjrP2SkeeH+NP5/oeO3VR2sFVtYzWQQ7N/Q+wdlbR2F1HPZtG+9M+JGP4fX+P524PPhcIwxBUURSNra+Vah1u4/LoEM3ClgJZubSC6kBu/wMfPMAsE6aA5Orm/AS3X6u4/RKrXf6I+taKAgrm4O/jEzqdX/jx8w++3X1Hvz9UMFOxw2I2AdZwc3aM69Mj0DHUMyuJQweBkGDMheO48cpccM4nXNJ3qrG3oTa2KwVcfi6q1s2Wbeah1+tjMBhCSjkGmHBI50aQZiGDVjETDyU/PhQZRfB8X8FoKNM0AhLA2n4/UiO/pqQDaa6+H4w2zlLsMAGYegM6sF0P3W4PQsi5sPgMFwKpZcDzfHh+sBC6EEixoUAzhy1sd2mHXsAxHDoIOIeUIWbVUkByyKWEy1zVrhkX89Ys5dBVDu1RBs129fu9FJB+5wGfm8PZQBXstclgez64EP+XQyuBTQNSsAkYhtEUh5FxUxLpUB0oEodCyuTM5jnc28RFKY+rWkXJyr2beGAp2KEM58I04IZ6/wiqO9VjQzm0bQdCiKlT1oP9Aq2Kz99T4K2xAAAAAElFTkSuQmCC'); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/82e29/connectOnboarding-updated.webp 159w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/ef33f/connectOnboarding-updated.webp 318w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/f1837/connectOnboarding-updated.webp 635w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/29549/connectOnboarding-updated.webp 953w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/c5420/connectOnboarding-updated.webp 1270w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/d6c27/connectOnboarding-updated.webp 1922w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/8b9b5/connectOnboarding-updated.png 159w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/fa108/connectOnboarding-updated.png 318w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/53fb6/connectOnboarding-updated.png 635w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/5a426/connectOnboarding-updated.png 953w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/91155/connectOnboarding-updated.png 1270w","/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/50f6e/connectOnboarding-updated.png 1922w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/65091bd3f8c4b64cd05f3cd0a345fbd2/53fb6/connectOnboarding-updated.png","alt":"Connect onboarding","title":"Connect onboarding","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If there are any requirements missing from the Stripe Account we will\ncreate a "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"custom_account_verification"}]},{"type":"text","value":" link. Otherwise, we will create a\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"custom_account_update"}]},{"type":"text","value":" link. By default, we will use "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"currently_due"}]},{"type":"text","value":" as\na collect type. A new Account Link is created only when the user clicks\nthe link to go to Connect onboarding to make sure the link will not\nexpire. When the Account Link is returned the user is redirected to\nConnect Onboarding."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When creating the Account Link we need to provide success and failure\nURLs where user will be redirected after onboarding. These routes with\nURL parameter need to be added to "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"routeConfiguration.js"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"E.g. StripePayoutPage with URL parameter"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"    {\n      path: '/account/payments/:returnURLType',\n      name: 'StripePayoutOnboardingPage',\n      auth: true,\n      authPage: 'LoginPage',\n      component: props => <StripePayoutPage {...props} />,\n      loadData: StripePayoutPage.loadData,\n    }"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If the user returns to the success URL, we still need to check the\nstatus of the Stripe Account again. Returning to success URL doesn't\nautomatically mean that the account has all the required information."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If there are no requirements missing from the Stripe Account, the\nstatus box is in "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"verificationSuccess"}]},{"type":"text","value":" mode"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/7efb3/verificationSuccess.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 14.465408805031446%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlElEQVQI10VOWQ6CMBTs/U/hTTwHiYIBqVK6UFoidHFMHwQ/JvNmSd6wVzQY43xCJgeZ5gP7/fcdVHaQeWeVPTQWgvp66OTBLuMVlW5Riw4Vb9DIJ+6ixUP1xEVXvMYYLGasMNmjd4Ky29Ernc6+6QHjUUOWBWVhsCdIbxYy7L5KDjp74pKJbYJYJwyrwfAxpE1a8AP5XeOT3hHHTAAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/82e29/verificationSuccess.webp 159w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/ef33f/verificationSuccess.webp 318w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/f1837/verificationSuccess.webp 635w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/29549/verificationSuccess.webp 953w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/1ca10/verificationSuccess.webp 1162w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/8b9b5/verificationSuccess.png 159w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/fa108/verificationSuccess.png 318w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/53fb6/verificationSuccess.png 635w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/5a426/verificationSuccess.png 953w","/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/7efb3/verificationSuccess.png 1162w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/cd49fb0e7d6a12616fea0fdc3db0102a/53fb6/verificationSuccess.png","alt":"success view","title":"success view","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If there is still something missing from the Stripe Account, the\nstatus box is in "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"verificationNeeded"}]},{"type":"text","value":" mode"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/402cc/verificationNeeded.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 28.30188679245283%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABFklEQVQY023RyU7DMBCA4TwYEkfeCXHps3BBSDwBgjO3qhKiLVHSbE6zJ83iOFDyozhsQj18Gs9YHtsaY+wSkCn02Ry15I/0hO96PutznY8yxciEQ7jbErkmofNK4lvEnsXeNRG7LVXsM8pK++hKjl0xr/uKrk1o24SmjXmThW5uVJFHYK0R9obYM+fGu4021QN7rWvzRSbC2UJXsyqeOV9ecbFacLa8ZGFdw9BhlHsX33ohEzZpYOvXTgcPsU8Zubqehw7FftZkAlRDWvvcigfuwkduxD1P6RJUhdHlEWXk0aSCQxLoL6pDAkMDqobhH1UzyhL6KVe/lGSUGQaqgKFkjl9UrjdPmobX5zq+y/THcRqSKvgEbLzBqXlAlz8AAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/82e29/verificationNeeded.webp 159w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/ef33f/verificationNeeded.webp 318w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/f1837/verificationNeeded.webp 635w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/29549/verificationNeeded.webp 953w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/fb072/verificationNeeded.webp 1168w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/8b9b5/verificationNeeded.png 159w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/fa108/verificationNeeded.png 318w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/53fb6/verificationNeeded.png 635w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/5a426/verificationNeeded.png 953w","/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/402cc/verificationNeeded.png 1168w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/ae3f963ad7332b62e5a76fc35c443c3e/53fb6/verificationNeeded.png","alt":"verification needed view","title":"verification needed view","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If the user returned to failure URL, the status box is in\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"verificationError"}]},{"type":"text","value":" mode. Failure can happen e.g. if the Connect\nonboarding page was refreshed or if the Account Link had already\nexpired"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/12151/verificationFailed.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 24.528301886792455%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA6UlEQVQY042QTU7DMBSEczPEljPBCnEWroAQa2AHatWmSpumdpOQpP5NW7rLh+wIlCWLT2PPs8ZPkwzOgjHgHbh/oDWD1mAs2DPYE7gzmJ6QlYRHrixpNpuIKgq0EByKAislbZ5jhKDbbiN4D/7I0XY8V2+81O88Va/MuxScHwONlIjFgv1ySZmm1Fk23tM0qgz+ahX9ep1x2X9RHHKuP+64md1z9XnLw/oR/PcYeGoa1G5HX1UoIf42DOrLMn4Y+D33dc3gPb1t8bbFmYaL02AdyRD602rsMXYz0SnBm86VAmVGdFBNyPoBxt9zQh8Li5EAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/82e29/verificationFailed.webp 159w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/ef33f/verificationFailed.webp 318w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/f1837/verificationFailed.webp 635w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/29549/verificationFailed.webp 953w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/ef3e7/verificationFailed.webp 1177w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/8b9b5/verificationFailed.png 159w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/fa108/verificationFailed.png 318w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/53fb6/verificationFailed.png 635w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/5a426/verificationFailed.png 953w","/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/12151/verificationFailed.png 1177w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/7e0d620a12e0fb0a45693577e17b87e0/53fb6/verificationFailed.png","alt":"fail view","title":"fail view","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"5-updating-provider-stripe-account","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#5-updating-provider-stripe-account","ariaLabel":"5 updating provider stripe account permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"5. Updating provider Stripe account"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Most of the information related to Stripe Account like email or address\ncan be updated from Stripe's Connect onboarding. For updating this\ninformation we need to\n"},{"type":"element","tagName":"a","properties":{"href":"https://www.sharetribe.com/api-reference/marketplace.html#create-stripe-account-link","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"create a new Account Link"}]},{"type":"text","value":"\nand redirect user back to Connect onboarding."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Only thing we manage on the FTW side is updating the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"bankAccountToken"}]},{"type":"text","value":"\nof the Stripe Account. This means that if the provider want's to update\ntheir bank account number (e.g. IBAN), it's handled by passing a new\nbankAccountToken to\n"},{"type":"element","tagName":"a","properties":{"href":"https://www.sharetribe.com/api-reference/marketplace.html#update-stripe-account","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"update Stripe Account"}]},{"type":"text","value":"\nAPI endpoint."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Note:"}]},{"type":"text","value":" Currently, Stripe doesn't support updating the country of the\naccount after the account has been created."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"using-custom-flow","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#using-custom-flow","ariaLabel":"using custom flow permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Using custom flow"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It's also possible to implement the onboarding flow in your own\napplication. This way the user will stay in your application throughout\nthe whole onboarding. The downside with this approach is that you are\nresponsible for collecting all the required information and keeping the\nUI up-to-date also with the possible future changes."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Before FTW-daily v4.0.0 and FTW-hourly v5.0.0 the Stripe onboarding was\nimplemented like this also in FTW. There are some now deprecated\ncomponents you can use as a starting point if you want to implement your\nown flow. You should keep in mind that these components will not be\nupdated by our team since FTW will use Connect Onboarding by default."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"collecting-required-information","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#collecting-required-information","ariaLabel":"collecting required information permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Collecting required information"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When onboarding Custom accounts, you need to collect the required\ninformation for each account (which Stripe verifies). The information\nyou need to collect depends on factors such as the capabilities and the\ncountry the account is based in. You can find the requirements from\nStripe's\n"},{"type":"element","tagName":"a","properties":{"href":"https://stripe.com/docs/connect/required-verification-information","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"Required verification information"}]},{"type":"text","value":"\ndocumentation. You should keep in mind that depending on the situation,\nyou might need to collect a scan of an ID document, an address document,\nor both to enable payouts so you may need to implement a way to upload\nthese."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"After you have collected the information you need to obtain a new\n"},{"type":"element","tagName":"a","properties":{"href":"https://stripe.com/docs/connect/account-tokens","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"account token"}]},{"type":"text","value":" via\nStripe API, through the same Stripe platform account as the one used by\nthe marketplace. This account token should be passed to Flex API when\ncreating or updating the Stripe Account."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"updating-the-stripe-account","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#updating-the-stripe-account","ariaLabel":"updating the stripe account permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Updating the Stripe Account"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Before FTW-daily v4.0.0 and FTW-hourly v5.0.0 it was not possible to\nupdate a Stripe Account through user's account settings. However, if you\ndecide to use your own custom flow you should concider implementing a\nway to check the status of a Stripe Account and collect more information\nabout the user when it's required. Otherwise, the Stripe Account might\nget restricted and payouts to the provider will fail."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"using-deprecated-payoutdetailsform-and-payoutdetailspage-as-a-starting-point","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#using-deprecated-payoutdetailsform-and-payoutdetailspage-as-a-starting-point","ariaLabel":"using deprecated payoutdetailsform and payoutdetailspage as a starting point permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"Using deprecated PayoutDetailsForm and PayoutDetailsPage as a starting point"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"We have deprecated the old "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"PayoutDetailsForm"}]},{"type":"text","value":" and\n"},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"PayoutPreferencesPage"}]},{"type":"text","value":" where the custom flow for onboarding was\nimplemented. Also, functions related to the deprecated form have been\nremoved from "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"stripe.duck.js"}]},{"type":"text","value":". If you want to keep using the custom form\nin your own application, you can take these deprecated components as a\nstarting point but you should keep in mind that "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"they will not be\nupdated"}]},{"type":"text","value":" by our team."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can find the deprecated files still from v.3.7.0"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/tree/v3.7.0/src/forms/PayoutDetailsForm","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"PayoutDetailsForm"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/tree/v3.7.0/src/containers/PayoutPreferencesPage","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"PayoutPreferencesPage"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/blob/v3.7.0/src/ducks/stripe.duck.js","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"stripe.duck.js"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"when-to-require-provider-onboarding","style":"position:relative;"},"children":[{"type":"element","tagName":"a","properties":{"href":"#when-to-require-provider-onboarding","ariaLabel":"when to require provider onboarding permalink","className":["anchor","before"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]},{"type":"text","value":"When to require provider onboarding?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The default Flex Stripe integration requires the payout Connect account\ninformation immediately upon beginning a transaction. For this reason,\nthe FTW templates do not allow booking listings that do not have\nprovider payout information. The templates have also been configured to\nrequire provider onboarding and payout information before publishing any\nlistings."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"However, it is possible to modify this behavior. The simplest way to\nallow publishing a listing without adding payout details is to modify\nthe "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"handlePublishListing"}]},{"type":"text","value":" function in the\n"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sharetribe/ftw-daily/blob/master/src/components/EditListingWizard/EditListingWizard.js","target":"_blank","rel":["noopener","noreferrer"]},"children":[{"type":"text","value":"src/components/EditListingWizard/EditListingWizard.js"}]},{"type":"text","value":"\nin file. The function checks whether the user is connected to Stripe,\nand only calls the "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"onPublishListingDraft"}]},{"type":"text","value":" function if Stripe is\nconnected and there are no requirements missing. By removing the Stripe\nchecks and immediately calling "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"onPublishListingDraft"}]},{"type":"text","value":" with the\nparameter id, you can bypass the payout details modal completely."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The default behavior of the template in this situation is that once the\nlisting is published, a provider with no Stripe payout details is shown\na modal indicating that the listing cannot be booked before they add\ntheir payout details. The provider can choose to enter their payout\ndetails or click \"Later\"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 635px; "},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/4d4ef/payment_details_missing.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 66.03773584905662%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAADVUlEQVQ4y2WS60+bZRiH33/AmGwmsgyZc3Yrh22ssEMoPcJayhBjnFkWoptLBlMXxOjkJIsbdoX3LbSlJwrqJ2JijIkaPuFkMKeJExeLbmaTtCGDdi2FDjZMKaWX6euyaLyTK9eT34dfnty5Bb/Yg2iz0W+z4Xe5GPR4kEQRq9VKn11CkkTskoizvx9J7JXJ5fbeXtx9drxOBx73AFKPjfebmhBqjDqOHNZTbzZSb9JTV61j5LMRrk1OcuPn63w/OcEPV68SvDHF5Ph3XJu4wvjlMb784nOMBh1aTSVVBj3VVUZMRgOCrmwPFfuKUKuKOLhXSVlpIXf+uEluUqkU65mMTCq1xsZGVnY2myUej7O7pJhdih0UFyopVCpR7lQgvGlW03JER3OdnqN11Zyo0XD39k0erK4yOzvL3NycTDgcJhaLEQqFSCaTRCPzlCq3s7/oOUp25JO36Qm2b9mMcMpwgBPqfRw163nRWEGTVkXo1m+kMxnisZj8k4WFBRKJhPyORCKspdMsLcTRqYrYu3MbioItbH3qSbblbUJo1JVx3KTFclhPQ6WKk9oyZn4PkkqnmY/ME4vHuBe7R2IxwepfqyyvLJMFYtEIx3XlnDYdxFxexK5nnubZXOEpkwaLxUSD7gAn1aW8cmgPt4K/yjtkfQMyWdjIIrf8a6Lzc2hLFDRoSjn7gp4z9Xo0qmIEs86ApVjJMXU5r1WreeMlC+E7t1kHFtdWSK4/lFnKkX5AYm2ZFBli0SjHjId4WbOft15/lY/ONXOhuRGh5fQZGioqOd/ajsflxNEncT+6gCMyivKns9QEL1Ib7MYS7KZ2upvd19+mLTzC6spDXI4++u0iPbk77u1hwC4iuJxObFYrXq+XwUAAj9/HUmKRmY043ySnuLwyLfPtI4/e/4Xp9F35pALDQ/gG/QSGAvgD/yCIooT10iUkScLtHGDYF+DHr77mz7FxwmOThMYm/kMumxm7wtToKJ8ODvOxf4hP/EOyfT4fQiAQwOfz4nV7kDz9tDo+5D3pPO+InbSIHbTI/j/vSl20OS7Q7rwou9PZjdf/qNDeZ8clOWiUzrG5VU1Bh5H8DsNjCjqqUHbVouyy8PwHpsf51nY9+e0G8tq0KDrNuHxu/gak876B2YThPAAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/82e29/payment_details_missing.webp 159w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/ef33f/payment_details_missing.webp 318w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/f1837/payment_details_missing.webp 635w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/29549/payment_details_missing.webp 953w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/c5420/payment_details_missing.webp 1270w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/620a1/payment_details_missing.webp 1975w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/8b9b5/payment_details_missing.png 159w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/fa108/payment_details_missing.png 318w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/53fb6/payment_details_missing.png 635w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/5a426/payment_details_missing.png 953w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/91155/payment_details_missing.png 1270w","/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/4d4ef/payment_details_missing.png 1975w"],"sizes":"(max-width: 635px) 100vw, 635px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/docs/legacy/static/35994450cb0695ffed8b2bd2943a4d78/53fb6/payment_details_missing.png","alt":"Payment details missing","title":"Payment details missing","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]}]}],"data":{"quirksMode":false}},"headings":[{"value":"Introduction","depth":2},{"value":"Stripe Connect Onboarding","depth":2},{"value":"1. Enable Stripe Connect Onboarding in Stripe Dashboard","depth":3},{"value":"2. Creating provider Stripe Account","depth":3},{"value":"3. Fetching information about a Stripe Account","depth":3},{"value":"4. Creating Stripe Account Link","depth":3},{"value":"5. Updating provider Stripe account","depth":3},{"value":"Using custom flow","depth":2},{"value":"Collecting required information","depth":3},{"value":"Updating the Stripe Account","depth":3},{"value":"Using deprecated PayoutDetailsForm and PayoutDetailsPage as a starting point","depth":3},{"value":"When to require provider onboarding?","depth":2}]}},"pageContext":{"slug":"provider-onboarding-and-identity-verification","category":"how-to-payments"}},
    "staticQueryHashes": ["3794076007","439097193","717698143"]}