gpt4 book ai didi

ios - 如何在 iOS 应用程序中使用 Stripe Connect

转载 作者:技术小花猫 更新时间:2023-10-29 10:14:21 26 4
gpt4 key购买 nike

有没有人成功地将 Stripe connect 与 iOS 应用程序结合使用。我有几个问题:

我遵循此处的指南:https://stripe.com/docs/connect/getting-started

注册一个应用程序:很简单,这里没问题

再往下一点:

将您的用户发送到 Stripe:再说一遍,简单没问题,我只有一个按钮可以在 UIWebView 中打开链接。我假设在 URL 中包含 client_id 没问题?我的很多不确定性是我应该将哪些 ID/ key 硬编码到应用程序中

再往下一点:

在用户连接或创建 Stripe 帐户后,我们会将他们重定向回您在您的应用程序设置中使用代码参数或错误设置的 redirect_uri。

我在这里所做的是使用 UIWebview 的 webView:shouldStartLoadWithReqest:navigationType 委托(delegate)方法来检查 URL 中的字符串“code=”。如果它找到了,那么我就可以获取“代码”参数。所以实际上,redirect_uri 对我来说完全没有必要。这是处理这个问题的正确方法吗?我应该在我的应用程序中还是在我的服务器上执行此操作?

收到代码后,我们应该进行 POST 调用以接收 access_token。同样,这应该在应用程序内还是在服务器上完成?它需要使用 secret_key,所以我猜是服务器?如果需要将 token 发送到服务器,如何将信用卡信息与该 token 一起发送?我知道如何获取卡号、有效期和CVV。但就将它传递给服务器(有或没有 token )而言,我不确定。

然后,当涉及到在服务器上实际编写 PHP、Ruby 或 Python 代码时,我完全不知所措。

如有任何帮助,我们将不胜感激。

最佳答案

您应该设置一个小型网络应用程序来创建 Stripe 费用并存储您的客户授权码。在您的网络应用程序中为 redirect_uriwebhook_uri 配置两个路由,并将 url 添加到您的 Stripe Apps settings 中.费用应从服务器端应用程序创建,因为它需要不应存储在 iPad 应用程序中的 secret_key/authorization_code。否则它们可能会导致安全漏洞。我正在尝试描述以下概念:

  1. 在您的应用中提供 stripe 连接按钮,并将链接设置为在 Safari 中打开(而不是在 WebView 中)。您应该向 url 添加一个 state 参数,其中包含一个对您的用户唯一的 id

  2. 点击按钮后,您的用户将被重定向到 Stripe,在那里他/她将被要求授权您的应用程序。授权 strip 将使用 authorization_code 和您之前提供的 state 命中您的 redirect_uri。根据带 authorization_code 的 Stripe 文档进行 post 调用以获取 access_token。将与 state 映射的 access_token 存储在数据库中。

  3. 在您的应用中定义自定义网址架构。从您的网络应用程序调用自定义 url。用户应该在移动 safari 中打开 url。因此调用自定义 url 将重新打开您的应用程序。您可以传递一个额外的参数来指示失败/成功。在您的应用中,根据此参数更新 View 。

  4. 现在您已准备好代表 iPad 用户在您的服务器上创建费用。使用 stripe iOS sdk 从卡片信息中生成一个 card_token。它需要你的 Stripe publishable_key。然后在您的网络应用程序中定义一个 api,它接受 3 个参数:card_tokenuser_idamount。每当您想要创建费用时,都可以从您的 iPad 应用程序调用此 API。如果您担心使用任何标准加密方法的安全性,您也可以使用 key 加密此信息。由于知道 key ,您可以轻松解密网络应用中的信息。

  5. 当从 iPad 应用程序调用此 api 时,您将收到 user_id(您之前将其保存为 state)、card_token金额。检索映射到 user_id(或状态)的 access_token。然后,您可以使用 access_tokencard_tokenamount 代表用户进行收费。

您可以在服务器中使用 ruby​​/php/python/node,因为 Stripe 为它们提供了 sdk。我假设可以使用其他语言以及 REST 接口(interface)。

请注意,这只是一个概念。它应该像它一样工作,但我还没有实现它。完成后,我将使用示例代码更新此答案。

关于ios - 如何在 iOS 应用程序中使用 Stripe Connect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com