Ios 错误:必须仅提供以下参数之一:[:客户,:发卡卡]
我正在尝试使用firebase云函数作为后端,将条带API集成到我的应用程序中。当我调用创建临时密钥时,出现上面列出的错误。 这就是我的客户端设置的样子:Ios 错误:必须仅提供以下参数之一:[:客户,:发卡卡],ios,node.js,firebase,google-cloud-functions,stripe-payments,Ios,Node.js,Firebase,Google Cloud Functions,Stripe Payments,我正在尝试使用firebase云函数作为后端,将条带API集成到我的应用程序中。当我调用创建临时密钥时,出现上面列出的错误。 这就是我的客户端设置的样子: func createCustomerKey(withAPIVersion apiVersion: String, completion: @escaping STPJSONResponseCompletionBlock) { let url = self.baseURL.appendingPathComponent("/epheme
func createCustomerKey(withAPIVersion apiVersion: String, completion: @escaping STPJSONResponseCompletionBlock) {
let url = self.baseURL.appendingPathComponent("/ephemeral_keys")
Alamofire.request(url, method: .post, parameters: [
"api_version": apiVersion,"customer": "cus_somethingsomething"
])
.validate(statusCode: 200..<400)
.responseJSON { responseJSON in
switch responseJSON.result {
case .success(let json):
completion(json as? [String: AnyObject], nil)
case .failure(let error):
completion(nil, error)
}
}
}
我已经提供了一个客户参数,所以我不明白为什么会出现这个错误。我可能遗漏了一些东西,如果以前有人遇到类似的问题,我肯定需要一些帮助。
这是我遵循的教程的链接:注意,在
返回admin.database().ref(
/strucstomers/tempkey)之前,只要执行res.status(200).send(key)
代码>第二行通常不会执行,因为使用res.status(200).send(key)
可以向平台指示云功能已完成。@RenaudTarnec您是对的。当我写入return admin.database().ref(/strcstomers/tempkey).set(key)时,我不打算向数据库写入任何内容。我只是把它放在那里,因为当我省略它时,我会得到一个错误,说我需要返回一些东西
exports.StripeEphemeralKeys = functions.https.onRequest((req, res) => {
const stripe_version = req.body.api_version;
const customer = req.body.customer_id;
stripe.ephemeralKeys.create(
{customer: customer},
{apiVersion: stripe_version}
).then((key) => {
res.status(200).send(key)
return admin.database().ref(`/strcustomers/tempkey`).set(key);
}).catch((err) => {
console.log('Inside error, fetching key failed', err)
});
});