Я пытаюсь получить ошибку ответа от сервера в удобочитаемом формате.Я знаю, что есть ошибка, я просто не знаю, как разобрать JSON.Я получаю ошибку Данные не могут быть прочитаны, потому что они не в правильном формате.
Вот что я пытаюсь:
var request = URLRequest(url:url)
request.httpBody = "stripeToken=\(token.tokenId)&amount=\(priceInt)".data(using: String.Encoding.utf8)
request.httpMethod = "POST"
URLSession.shared.dataTask(with: request) { (data, response, error) -> Void in
// TODO: Handle success or failure
if let data = data {
do {
if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
print("Json: \(json)")
}
} catch {
print("Catch Error: \(error.localizedDescription)")
}
ОтветКузов:
{
"error": {
"charge": "ch_1E5yhbAtWFyXMp9t5rTIyGwM",
"code": "card_declined",
"decline_code": "generic_decline",
"doc_url": "https://stripe.com/docs/error-codes/card-declined",
"message": "Your card was declined.",
"type": "card_error"
}
}