【问题标题】:Stripe Connect Android条纹连接安卓
【发布时间】:2015-07-06 09:30:17
【问题描述】:

我正在构建一个向某人付费的 android 应用程序。我探索了 Stripe Connect,它有一个 API 和网站流程,需要显示一个条带连接按钮,还需要一个重定向 uri。

但是,我在 Android 上找不到任何允许显示连接按钮并提示用户在 Android 设备上本地创建或连接条带帐户的东西。我应该使用 webview 来执行此操作还是有更优雅的方式来执行此操作?

【问题讨论】:

标签: android stripe-payments


【解决方案1】:

据我所知,没有用于移动条带连接的原生 SDK。我为android做了webview路由。是微不足道的,但我同意我希望有一个更优雅的解决方案。

对于那些想知道如何做到这一点的人(因为我在那里找不到任何文档),给你:

  1. 创建一个按钮,该按钮将打开一个带有 Web 视图的新意图。

  2. webview 应该加载 oauth/authorize 端点(“https://connect.stripe.com/oauth/authorize?response_type=code&client_id=[YOUR_API_KEY]&scope=read_write”)。不要忘记在您的 webview 上启用 javascript。

  3. 一旦 webview 中的表单填写完毕,如果授权成功,Stripe 将重定向到您提供的带有授权码的 redirect_url。让您的网络服务解析该授权代码。

  4. 让您的服务通过提供授权类型、客户端 ID、代码和客户端秘密来发布 oauth/token 条带化。

  5. 然后,Stripe 将返回您需要的令牌(身份验证凭据)。将其存储起来以备后用,您就大功告成了。

【讨论】:

  • 嗨 HungryMondkey,您能告诉我有关 redirect_url 的信息吗?该网址中应该有什么?我的意思是在 html 正文等中?
  • 请您提供一些关于 Web 服务如何在这种情况下工作的信息?如何将令牌从 Web 服务接收回 Android 应用程序?如果 Web 服务需要保存身份验证凭据,我如何发送用户信息,以便我可以将特定应用程序上的用户映射到要保存的条带身份验证凭据
  • 第 2 步未加载帐户表单。这是如何解决的?
【解决方案2】:

我知道这是一个很老的问题,但是,在投入了我 2 天的时间并尝试之后,在 android 平台上搜索了很多创建条带帐户的技术后,我找到了解决我的问题的 Stripe API...

首先,这是您必须包含在项目中的jar 文件。 然后你必须在仪表板上初始化你提供的密钥

Stripe.apiKey = "sk_test_xxxxxxxxxxxxxxxxxxxxxxxx";
RequestOptions requestOptions = RequestOptions.builder()
                                 .setApiKey("sk_test_xxxxxxxxxxxxxxxxxxxxxxxx").build();
Map<String, Object> accountParams = new HashMap<String, Object>();
   accountParams.put("managed", false);
   accountParams.put("country", "US");
   accountParams.put("email", "some@email.com");
  1. 要创建一个帐户,请使用 Account 类的 create() 方法和参数 create link

    try {
       Account create = Account.create(accountParams, null);
    } catch (AuthenticationException e) {
       e.printStackTrace();
    } 
    
  2. 然后通过retrieve()方法获取账户明细传递账户id

    try {
       Account detail = Account.retrieve("acct_xxxxxxxxxxxxxx", null);
    } catch (AuthenticationException e) {
       e.printStackTrace();
    } 
    

您可以在Stripe Android API 找到更多信息,是的,如果我错了,请纠正我..

您需要捕获的异常AuthenticationExceptionInvalidRequestExceptionAPIConnectionExceptionCardExceptionAPIException

【讨论】:

    猜你喜欢
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2012-05-26
    • 2010-11-02
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多