use thiserror::Error;
#[derive(Error, Debug)]
#[non_exhaustive]
pub enum PaystackAPIError {
#[error("Generic error: {0}")]
Generic(String),
#[error("Transaction Error: {0}")]
Transaction(String),
#[error("Charge Error: {0}")]
Charge(String),
#[error("Transaction Split Error: {0}")]
TransactionSplit(String),
#[error("Subaccount Error: {0}")]
Subaccount(String),
#[error("Terminal Error: {0}")]
Terminal(String),
#[error("Virtual Terminal Error: {0}")]
VirtualTerminal(String),
#[error("Customer Error: {0}")]
Customer(String),
#[error("Dedicated Virtual Account Error: {0}")]
DedicatedVirtualAccount(String),
#[error("Apple Pay Error: {0}")]
ApplePay(String),
#[error("Plan Error: {0}")]
Plan(String),
}