Expand description
Typed Mollie API client for Rust.
Owned and maintained by Suits Finance B.V. This is an unofficial SDK: it is not affiliated with, endorsed by, or supported by Mollie B.V.
The generated Client exposes one typed async method for every operation
in the checked-in Mollie OpenAPI spec. MollieClient is the ergonomic
facade for applications: it builds the HTTP client, sets authentication, and
dereferences to Client so the full generated route surface remains
available.
§Examples
use mollie_rs::{types, IntoMollieFuture, MollieClient, Money};
let client = MollieClient::from_api_key("test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")?;
let payment = mollie_rs::CreatePaymentRequired::new(
"Order #12345",
Money::new("EUR", "10.00")?,
"https://example.com/return",
)?
.into_payment_request();
let response = client
.create_payment(None, &payment)
.into_mollie_result()
.await?;
// When no sticky key is configured, a UUID v4 is generated and returned.
let _key = response.idempotency_key();
let _payment = response.into_inner();To reuse a key for retries of the same logical operation, bind it on the client (owned, no lifetime coupling to request bodies):
let client = client.with_idempotency_key("6f7ef3e6-8c2f-4d1c-9f08-5ab7adf56c91");
let _response = client.create_payment(None, &payment).into_mollie_result().await?;See docs/api-overview.md for the SDK capability map, docs/route-coverage.md
for the generated route matrix, and docs/contracts/ for public facade
contracts.
Re-exports§
pub use address::Address;pub use address::POSTAL_CODE_OPTIONAL_COUNTRIES;pub use auth::ApiKey;pub use auth::BasicAuth;pub use auth::Credential;pub use auth::OAuthAccessToken;pub use client::MollieClient;pub use client::MollieClientBuilder;pub use client::DEFAULT_BASE_URL;pub use contract_drift::emit_contract_drift;pub use contract_drift::global_contract_drift_observer;pub use contract_drift::set_global_contract_drift_observer;pub use contract_drift::ContractDriftKind;pub use contract_drift::ContractDriftObserver;pub use contract_drift::ContractDriftScopeGuard;pub use contract_drift::ContractDriftSignal;pub use contract_drift::NoopContractDriftObserver;pub use contract_drift::CONTRACT_DRIFT_DETAIL_MAX_LEN;pub use country_code::CountryCode;pub use create_payment::CreatePaymentRequired;pub use create_payment::PaymentDescription;pub use create_payment::RedirectUrl;pub use create_payment::PAYMENT_DESCRIPTION_MAX_LEN;pub use datetime::Date;pub use datetime::DateTime;pub use domain::CapturesApi;pub use domain::ConnectBalanceTransfersApi;pub use domain::MandatesApi;pub use domain::OAuthApi;pub use domain::PaymentLinksApi;pub use domain::PaymentsApi;pub use domain::PayoutsApi;pub use domain::RefundsApi;pub use domain::SessionsApi;pub use domain::SubscriptionsApi;pub use domain::TerminalsApi;pub use domain::TransferClientSignature;pub use domain::TransfersApi;pub use domain::UnmatchedCreditTransfersApi;pub use domain::VerifyPayeeApi;pub use domain::WebhooksApi;pub use empty::EmptyResponse;pub use env::load_dotenv;pub use env::load_dotenv_from;pub use env::var;pub use env::var_optional;pub use env::var_os;pub use env::MOLLIE_API_KEY_ENV;pub use env::MOLLIE_BASE_URL_ENV;pub use env::MOLLIE_OAUTH_ACCESS_TOKEN_ENV;pub use env::MOLLIE_OAUTH_CLIENT_ID_ENV;pub use env::MOLLIE_OAUTH_CLIENT_SECRET_ENV;pub use envelope::GeneratedMollieResult;pub use envelope::IntoMollieFuture;pub use envelope::IntoMollieResult;pub use envelope::MollieEnvelope;pub use envelope::MollieResponse;pub use envelope::ResponseEnvelope;pub use envelope::ResponseValueExt;pub use error::MollieError;pub use error::MollieResult;pub use error_catalog::MollieErrorCatalogEntry;pub use error_catalog::MollieErrorCode;pub use error_catalog::MollieErrorEnvelope;pub use error_catalog::MollieErrorKey;pub use error_catalog::MollieSuccessCatalogEntry;pub use error_catalog::MollieSuccessCode;pub use error_catalog::MollieSuccessEnvelope;pub use error_catalog::MollieSuccessKey;pub use hooks::NoopHook;pub use hooks::RequestContext;pub use hooks::RequestHook;pub use idempotency::IdempotencyKey;pub use idempotency::IDEMPOTENCY_KEY_MAX_LEN;pub use ids::BalanceId;pub use ids::CaptureId;pub use ids::ChargebackId;pub use ids::CustomerId;pub use ids::MandateId;pub use ids::PaymentId;pub use ids::PaymentLinkId;pub use ids::ProfileId;pub use ids::RefundId;pub use ids::SalesInvoiceId;pub use ids::SettlementId;pub use ids::SubscriptionId;pub use ids::TerminalId;pub use integration::ClaimResult;pub use integration::EventStoreReplayAdapter;pub use integration::PaymentStateRefetcher;pub use integration::WebhookDispatcher;pub use integration::WebhookEventStore;pub use integration::WebhookReplayStore;pub use locale::Locale;pub use metadata::ErrorResponseContext;pub use metadata::ResponseMetadata;pub use metadata::MAX_RETAINED_BODY_BYTES;pub use money::AmountValue;pub use money::ApplicationFee;pub use money::ApplicationFeeDescription;pub use money::Currency;pub use money::Money;pub use money::APPLICATION_FEE_DESCRIPTION_MAX_LEN;pub use nullable_field::is_omitted as nullable_field_is_omitted;pub use nullable_field::NullableField;pub use open_enum::OpenEnum;pub use open_enum::OpenEnumError;pub use open_enum::OPEN_ENUM_MAX_RAW_LEN;pub use operation_safety::all_operation_safety_profiles;pub use operation_safety::high_risk_coverage;pub use operation_safety::operation_safety_profile;pub use operation_safety::AuthClass;pub use operation_safety::IdempotencyClass;pub use operation_safety::MutationClass;pub use operation_safety::OperationExposure;pub use operation_safety::OperationRisk;pub use operation_safety::OperationSafetyProfile;pub use operation_safety::PaginationPolicy;pub use operation_safety::ProfileScope;pub use operation_safety::TestmodePolicy;pub use operation_safety::HIGH_RISK_WRITE_OPERATION_IDS;pub use operation_safety::PAYMENT_CAPABILITY_MUTATION_OPERATION_IDS;pub use pagination::AsyncPaginator;pub use pagination::ItemStream;pub use pagination::Page;pub use pagination::PageCursor;pub use pagination::PaginationGuard;pub use pagination::DEFAULT_PAGE_LIMIT;pub use pagination::MAX_PAGE_LIMIT;pub use payment_method::PaymentMethod;pub use phone_number::PhoneNumber;pub use provider_enums::parse_payment_status;pub use provider_enums::payment_status_from_generated;pub use provider_enums::payment_status_to_generated;pub use provider_enums::PaymentStatusKnown;pub use provider_enums::PaymentStatusValue;pub use response_limits::ResponseLimits;pub use response_limits::DEFAULT_MAX_ERROR_BODY_BYTES;pub use response_limits::DEFAULT_MAX_JSON_BYTES;pub use route_capabilities::retry_class_for_operation;pub use route_capabilities::route_capability;pub use route_capabilities::RouteAccess;pub use route_capabilities::RouteCapability;pub use route_capabilities::ROUTE_CAPABILITIES;pub use tracing_config::init_tracing;pub use tracing_config::init_tracing_with_filter;pub use tracing_config::try_init_tracing;pub use tracing_config::try_init_tracing_with_filter;pub use transport::compute_backoff;pub use transport::DeliveryOutcome;pub use transport::RetryClass;pub use transport::RetryPolicy;pub use webhook::WebhookNotification;pub use webhook::WebhookUrl;pub use webhook_verify::compute_mollie_signature_hex;pub use webhook_verify::VerifiedWebhook;pub use webhook_verify::WebhookSigningSecret;pub use webhook_verify::WebhookVerifier;pub use webhook_verify::WebhookVerifyFailure;pub use webhook_verify::DEFAULT_MAX_WEBHOOK_BODY_BYTES;pub use webhook_verify::MOLLIE_SIGNATURE_HEADER;pub use write_requests::ConnectBalanceTransferParty;pub use write_requests::CreateCaptureRequired;pub use write_requests::CreateConnectBalanceTransferRequired;pub use write_requests::CreatePaymentLinkRequired;pub use write_requests::CreatePayoutRequired;pub use write_requests::CreateRefundRequired;pub use write_requests::CreateSepaMandateRequired;pub use write_requests::CreateSubscriptionRequired;pub use write_requests::CreateTransferRequired;pub use write_requests::UpdatePaymentRequired;pub use write_requests::VerifyPayeeRequired;pub use tracing;pub use tracing_subscriber;
Modules§
- address
- Validated common Mollie address values.
- auth
- Authentication helpers for constructing Mollie API clients.
- client
- Ergonomic Mollie client construction.
- contract_
drift - Opt-in runtime contract-drift telemetry (TEL-001 / SUI-2366).
- country_
code - ISO 3166-1 alpha-2 country codes for Mollie request fields.
- create_
payment - Local validation for the three required create-payment body fields.
- datetime
- ISO 8601 date and datetime helpers for Mollie request/response fields.
- domain
- Handwritten payment-domain facades over the generated route surface.
- empty
- Explicit empty provider responses (204 / empty JSON bodies).
- env
- Environment helpers for process variables and optional dotenv loading.
- envelope
- Response-envelope helpers for generated Mollie route calls.
- error
- Error types returned by the hand-written Mollie SDK facade.
- error_
catalog - Stable codes, keys, and message keys for Mollie success and error envelopes.
- factory
- Shared success and error factories for application-facing envelopes.
- hooks
- Narrow request lifecycle hooks for observability and test doubles.
- idempotency
- Request-scoped idempotency keys for Mollie write operations.
- ids
- Validated Mollie resource identifiers.
- integration
- Application integration boundaries for webhook processing.
- locale
- Typed locale helpers for Mollie request payloads.
- metadata
- Operational response metadata extracted from HTTP headers and status.
- money
- Typed money helpers for constructing Mollie amount payloads.
- nullable_
field - Explicit omit / null / value field semantics (INV-NULL-01).
- open_
enum - Forward-compatible open enums that preserve unknown provider values (INV-ENUM-01).
- operation_
safety - Operation safety profile — singular policy SSOT for transport and facades.
- pagination
- Pagination primitives and async page iterators for Mollie list endpoints.
- payment_
method - Typed payment method helpers for request payloads.
- phone_
number - E.164 phone number validation for Mollie request fields.
- prelude
- Convenience re-exports of the types most applications import together.
- provider_
enums - Forward-compatible provider status enums (INV-ENUM-01).
- response_
limits - Configurable response body size limits for transport buffering.
- route_
capabilities - Machine-readable Mollie route capabilities generated from
specs-3.0.yaml. - routes
- Generated Mollie API route groups (inherent methods on
Client). Generated Mollie API route groups. - tracing_
config - Application tracing-subscriber helpers (
app-helpersfeature, default on). Tracing subscriber setup for applications and examples. - transport
- Transport policy: retries, rate limits, deadlines, and delivery outcomes.
- types
- Generated OpenAPI types for request and response bodies. Types used as operation parameters and responses.
- webhook
- Typed helpers for classic Mollie webhook callbacks.
- webhook_
verify - Next-generation Mollie webhook signature verification.
- write_
requests - Validated builders for Mollie write request bodies.
Structs§
- Byte
Stream - Untyped byte stream used for both success and error responses.
- Client
- Low-level typed Mollie API client (OpenAPI-generated route surface).
- Response
Value - Typed value returned by generated client methods.
Enums§
- Error
- Error produced by generated client methods.
Traits§
- Client
Info - Interface for which an implementation is generated for all clients.