==============
Недавно я пытался внедрить Stripe
в мое приложение IOS (Swift) с использованием Firebase, Firestore и облачных функций.
Но по какой-то причине я получаю эту ошибку при загрузке CheckoutViewController:
Код статуса ответа был недопустим: 401.
Я имеюпросмотрел почти всю документацию, которую Stripe выпустил по этой теме, и посмотрел видео, которые я смог найти, например этот
Вот мой быстрый код:
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_id": "cus_IDOFEXISTINGCUSTOMER"
])
.validate(statusCode: 200..<300)
.responseJSON { responseJSON in
switch responseJSON.result
{
case .success(let json):
completion(json as? [String: AnyObject], nil)
case .failure(let error):
completion(nil, error)
}
}
}
И вот мой файл index.js для Firebase:
const express = require('express');
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const stripe = require('stripe')('sk_test_MYSECRETKEY');
const bodyParser = require('body-parser');
const app = express();
// Express
app.post('/ephemeral_keys', (req, res) =>
{
const stripe_version = req.body.api_version;
if (!stripe_version)
{
res.status(400).end();
return;
}
// This function assumes that some previous middleware has determined the
// correct customerId for the session and saved it on the request object.
stripe.ephemeralKeys.create(
{customer: req.body.customer_id},
{stripe_version: stripe_version}
).then((key) => {
res.status(200).json(key);
}).catch((err) => {
res.status(500).end();
});
});
Я ожидал, что мой CheckoutViewController
сможет загрузить и не получить эту ошибку.
Если в моем вопросе что-то отсутствуетили вам нужна дополнительная информация для решения этой проблемы, пожалуйста, дайте мне знать.
Я был бы очень признателен за любую помощь c:
-Marie