Crate coinpayments_rs

Crate coinpayments_rs 

Source
Expand description

CoinPayments API Client

A comprehensive Rust client library for the CoinPayments API that provides easy access to cryptocurrency payment processing, wallet management, transaction handling, and more.

§Features

  • Currencies: Get supported currencies, rates, and conversion information
  • Rates: Real-time exchange rates and market data
  • Fees: Blockchain fee calculations and estimates
  • Wallets: Create and manage wallets and addresses
  • Transactions: Handle payments, withdrawals, and consolidations
  • Invoices: Create and manage payment invoices
  • Webhooks: Set up and manage webhook notifications

§Quick Start

use coinpayments::{CoinPaymentsClient, CreateInvoiceRequest};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = CoinPaymentsClient::new("your_client_id", "your_client_secret");

    // Create an invoice
    let request = CreateInvoiceRequest::new("10.00", "USD", "Payment for services")
        .with_buyer("customer@example.com", Some("John Doe".to_string()));

    let invoice = client.create_invoice(request).await?;
    println!("Invoice created: {}", invoice.invoice.invoice_url);

    Ok(())
}

Re-exports§

pub use utils::build_query_string;
pub use utils::calculate_pagination;
pub use utils::convert_reqwest_error;
pub use utils::create_auth_headers;
pub use utils::create_http_client;
pub use utils::extract_api_error_message;
pub use utils::extract_rate_limit_info;
pub use utils::format_amount;
pub use utils::from_smallest_unit;
pub use utils::generate_hmac_signature;
pub use utils::generate_nonce;
pub use utils::generate_random_string;
pub use utils::generate_timestamp;
pub use utils::is_valid_amount;
pub use utils::is_valid_bitcoin_address;
pub use utils::is_valid_currency_id;
pub use utils::is_valid_email;
pub use utils::is_valid_ethereum_address;
pub use utils::is_valid_url;
pub use utils::is_valid_wallet_label;
pub use utils::iso8601_to_timestamp;
pub use utils::parse_amount;
pub use utils::timestamp_to_iso8601;
pub use utils::to_smallest_unit;
pub use utils::validate_webhook_signature;
pub use utils::PaginationInfo as UtilsPaginationInfo;
pub use utils::RateLimitInfo;
pub use currencies::*;
pub use fees::*;
pub use invoices::*;
pub use rates::*;
pub use transactions::*;
pub use wallets::*;
pub use webhooks::*;

Modules§

currencies
Currency-related API endpoints for CoinPayments API
fees
Blockchain fees API endpoints for CoinPayments API
invoices
Invoice management API endpoints for CoinPayments API
rates
Exchange rates API endpoints for CoinPayments API
transactions
Transaction management API endpoints for CoinPayments API
utils
Utility functions and common helpers for CoinPayments API
wallets
Wallet management API endpoints for CoinPayments API
webhooks
Webhook management API endpoints for CoinPayments API

Structs§

ApiError
API error information
ApiResponse
Generic API response wrapper
ClientInfo
Client information
CoinPaymentsClient
CoinPayments API Client
PaginationMetadata
Pagination metadata
PingResponse
Ping response
RateLimits
Rate limit information

Enums§

AuthType
Authentication type
CoinPaymentsError
API Error types

Type Aliases§

Result
Result type alias for CoinPayments operations