#![cfg_attr(
feature = "mollie",
doc = "\n\n---\n\nThe README is included below, which makes its usage example a doctest: the \
first code a crates.io visitor copies is compiled on every CI run rather \
than left to rot against the real API."
)]
#![cfg_attr(feature = "mollie", doc = include_str!("../README.md"))]
#![forbid(unsafe_code)]
#![deny(missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg(all(
feature = "mollie",
not(any(feature = "rustls-tls", feature = "native-tls"))
))]
compile_error!(
"the `mollie` feature needs a TLS backend: enable either `rustls-tls` or `native-tls`. \
Without one the crate compiles, but every HTTPS request fails at runtime."
);
pub mod error;
pub mod money;
pub mod payment;
pub mod provider;
pub mod providers;
pub use error::Error;
pub use money::{Currency, Money, ParseCurrencyError, ParseMoneyError};
pub use payment::{
CreatePayment, Payment, PaymentStatus, Refund, RefundRequest, RefundStatus, VerifiedPayment,
};
pub use provider::PaymentProvider;
#[cfg(feature = "mollie")]
#[cfg_attr(docsrs, doc(cfg(feature = "mollie")))]
pub use providers::mollie::MollieProvider;
#[cfg(feature = "mollie")]
pub use reqwest;