1use crate::data::ErrorCode;
2use serde::Deserialize;
3
4#[derive(Debug, thiserror::Error)]
5pub enum Error {
6 #[error(transparent)]
7 Reqwest(#[from] reqwest::Error),
8 #[error(transparent)]
9 SerdeQs(#[from] serde_qs::Error),
10 #[error(transparent)]
11 Tosspayments(#[from] TosspaymentsError),
12}
13
14#[derive(Debug, Deserialize, thiserror::Error)]
15#[error("{code} ({http_status}) with message: {message:?}")]
16pub struct TosspaymentsError {
17 #[serde(skip_deserializing)]
18 pub http_status: u16,
19 pub code: ErrorCode,
20 pub message: String,
21}