首页 > 解决方案 > Stripe Connect 帐户 - return_url - 链接回 Expo 应用程序

问题描述

我正在让用户加入 Stripe connect。我的节点服务器会生成一个临时 HTTPS URL,以便客户可以登录。根据他们的文档,我需要在他们完成申请时提供一个 URL。

https://stripe.com/docs/api/account_links/create#create_account_link

我有一个世博会申请。用户将在浏览器中打开 URL。但是,当他们完成申请时,我希望他们回到 Expo App。如果我尝试将其expo://MYAPP/用作 return_url,则 Stripe 无法识别 URL 架构。

有谁知道我如何在通过浏览器完成他们的入职后将用户返回到我的应用程序中?

标签: react-nativeexpostripe-payments

解决方案


对于任何遇到这篇文章的人来说,这是我的解决方案。您的应用必须链接到网站。我正在使用 Expo,但这是生成链接的 React 代码。

import * as WebBrowser from 'expo-web-browser';
import * as Linking from 'expo-linking';

  const openPage = async () => {
    try {
      const result = await WebBrowser.openAuthSessionAsync(
        `${url}?linkingUri=${Linking.createURL('/?')}`,
      );
      let redirectData;
      if (result.url) {
        redirectData = Linking.parse(result.url);
      }

      setstate({ result, redirectData });
    } catch (error) {
      console.log(error);
    }
  };

加载站点时,请确保传递从后端生成的 URL

后端代码:

stripe.accountLinks
    .create({
      type: 'account_onboarding',
      account: accountID,
      refresh_url: `https://website.com/refresh`,
      return_url: `https://website.com/return`,
    })

当用户打开站点时,有一个重定向到条带 URL 的按钮。这就是我认为它首先出现的方式

应用程序 -> 条纹连接

相反,您必须像这样处理它

应用程序 -> 网站 -> 条纹连接


推荐阅读