Stripe Documentation告诉我在后端公开三个API但不是如何这样做

时间:2016-07-05 19:52:25

标签: ios api stripe-payments

在查看将Stripe合并到我的Swift iOS应用程序中的文档时,我读到它告诉我:“你应该在你的后端公开三个API,以便你的iOS应用程序与之通信。”

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

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

指向相关条纹文档的链接:https://stripe.com/docs/mobile/ios

2 个答案:

答案 0 :(得分:0)

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

关于您的问题,您需要在服务器端应用程序上实现这三个API端点 - 然后每个端点都与Stripe API联系 - 以便让您的iOS应用程序使用它们。

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

答案 1 :(得分:0)

我建议你学习如何做到这一点你应该在Javascript / Node.JS中使用Heroku来设置Express Server。

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

let apiURL = "https://YourDomain.com/add-customer"
let params = ["email": "hello@test.com"]
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)
        }
    );
});

希望这有一些帮助。