困惑于如何在APIClient.swift类中创建条带临时密钥

困惑于如何在APIClient.swift类中创建条带临时密钥,swift,firebase,google-cloud-firestore,google-cloud-functions,stripe-payments,Swift,Firebase,Google Cloud Firestore,Google Cloud Functions,Stripe Payments,因此,在过去的两天里,我一直在琢磨如何实现这个条带API,到目前为止,这是我最难理解的事情。因此,我决定使用Firebase和云功能集成条带功能,我一直认为它是无服务器的,这很好 我一直在努力跟进,到目前为止,我已经能够在创建新用户时创建条带客户。在那之后,我几乎不知道如何做我想做的下一步,即创建短暂的关键点 我从另一个SO帖子中找到了这个函数: exports.createEphemeralKeys = functions.https.onRequest((req, res) => {

因此,在过去的两天里,我一直在琢磨如何实现这个条带API,到目前为止,这是我最难理解的事情。因此,我决定使用Firebase和云功能集成条带功能,我一直认为它是无服务器的,这很好

我一直在努力跟进,到目前为止,我已经能够在创建新用户时创建条带客户。在那之后,我几乎不知道如何做我想做的下一步,即创建短暂的关键点

我从另一个SO帖子中找到了这个函数:

exports.createEphemeralKeys = functions.https.onRequest((req, res) => {
var api_version = req.body.api_version;
var customerId = req.body.customerId;

if (!api_version) {
 res.status(400).end();
 return;
 }

 stripe.ephemeralKeys.create(
  { customer: customerId },
  { stripe_version: api_version }, 

 function(err, key) {
   return res.send(key);
 });   
});
这是
MyAPIClient.swift
文件中的方法:

 func createCustomerKey(withAPIVersion apiVersion: String, completion: @escaping STPJSONResponseCompletionBlock) {
    let url = self.baseURL.appendingPathComponent("ephemeral_keys")
    var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false)!
    urlComponents.queryItems = [URLQueryItem(name: "api_version", value: apiVersion)]
    var request = URLRequest(url: urlComponents.url!)
    request.httpMethod = "POST"
    let task = URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in
        guard let response = response as? HTTPURLResponse,
            response.statusCode == 200,
            let data = data,
            let json = ((try? JSONSerialization.jsonObject(with: data, options: []) as? [String : Any]) as [String : Any]??) else {
            completion(nil, error)
            return
        }
        completion(json, nil)
    })
    task.resume()
}

这就是我感到困惑的地方,因为将Stripe与Firebase集成是无服务器的,我们应该在
baseURL
中输入什么?目前,
baseURL
变量为空,但我也遇到了抛出的错误,
。appendingPathComponent
也不可用。如果这是一个愚蠢的问题,请原谅,但我更愿意看起来像个十足的白痴,最终找出如何成功集成这个API,而不是什么都不问。提前感谢。

应将
baseURL
设置为Firebase函数所在的URL。看一看细节

URL将如下所示:

https://<region>-<project-id>.cloudfunctions.net/
https://-.cloudfunctions.net/