Stripe 文档告诉我在后端公开三个 API,但没有告诉我如何操作

问题描述 投票:0回答:2

在查看将 Stripe 合并到我的 Swift iOS 应用程序中的文档时,我读到它告诉我:

“您应该在后端公开三个 API,以便您的 iOS 应用程序进行通信。”

它指的三个API是检索客户API、创建卡API和客户更新API。然后,文档列出了您应该在后端执行哪些操作来调用这些 API 的代码片段,这些代码片段是使用我不熟悉的 Spark 框架完成的。

我的问题(Stripe 的文档似乎没有解释)是如何将我的后端暴露给这三个 API,以便我可以调用这些函数?是通过导入声明吗?或者,由于我将使用不需要导入的 Spark 框架,所以这是处理/不必要的吗?

相关 Stripe 文档的链接:https://stripe.com/docs/mobile/ios

ios stripe-payments
2个回答
0
投票

Spark 框架是为 Java 示例选择的框架;代码区域正上方是一些链接到其他语言(Ruby/Sinatra、Python/django、PHP、Node.js/Express)片段的选项卡,所以也许您的语言/框架就在那里 - 或者您正在使用不同的 Java 框架?

对于您的问题,您需要在服务器端应用程序上实现这三个 API 端点(然后每个端点都会联系 Stripe API),以便允许您的 iOS 应用程序使用它们。

您可能还想查看 Stripe 的 Java 库:https://github.com/stripe/stripe-java/


0
投票

我建议学习如何执行此操作,您应该在 Javascript / Node.JS 中执行此操作,并使用 Heroku 之类的东西来设置 Express 服务器。

在 iOS 端,我会使用 Alamofire,它可以让您轻松地从 Swift 应用程序进行 API 调用。其实现看起来像这样(用于创建新客户):

let apiURL = "https://YourDomain.com/add-customer"
let params = ["email": "[email protected]"]
let heads = ["Accept": "application/json"]

Alamofire.request(.POST, apiURL, parameters: params, headers: heads)
     .responseJSON { response in
         print(response.request)  // original URL request
         print(response.response) // URL response
         print(response.data)     // server data
         print(response.result)   // result of response serialization

         if let JSON = response.result.value {
             print("JSON: \(JSON)")
         }
     }

在服务器端,假设你使用 Express 有这样的东西:

    app.post('/add-customer', function (req, res) {
    stripe.customers.create(
        { email: req.body.email },
        function(err, customer) {
            err; // null if no error occured
            customer; // the created customer object

            res.json(customer) // Send newly created customer back to client (Swift App)
        }
    );
});

希望这对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.