use thiserror::Error;

#[derive(Debug, Error)]
pub enum BillingAdapterError {
    #[error("billing provider '{0}' is not supported yet")]
    UnsupportedProvider(String),
    #[error("invalid billing provider configuration: {0}")]
    InvalidConfig(String),
    #[error("webhook verification failed: {0}")]
    WebhookVerification(String),
    #[error("unsupported webhook payload: {0}")]
    UnsupportedWebhook(String),
    #[error("provider response parse failed: {0}")]
    Parse(String),
    #[error("provider HTTP request failed: {0}")]
    Http(String),
}
