Crate tapsilat

Crate tapsilat 

Source
Expand description

§Tapsilat Rust SDK

A comprehensive Rust SDK for the Tapsilat payment processing platform.

§Overview

The Tapsilat SDK provides a type-safe, ergonomic interface for integrating with the Tapsilat API. It supports order creation, payment processing, installment plans, webhook verification, and comprehensive validation utilities.

§Quick Start

use tapsilat::{Config, TapsilatClient, CreateOrderRequest, Currency};

// Initialize the client
let config = Config::new("your-api-key")
    .with_base_url("https://api.tapsilat.com/v1")
    .with_timeout(30);
let client = TapsilatClient::new(config)?;

// Create an order
let order_request = CreateOrderRequest {
    amount: 100.0,
    currency: Currency::TRY,
    locale: Some("tr".to_string()),
    conversation_id: Some("order-123".to_string()),
    description: Some("Test order".to_string()),
    buyer: None,
    items: vec![],
    callback_url: Some("https://example.com/callback".to_string()),
    metadata: None,
};

let order_response = client.create_order(order_request)?;
println!("Order created: {}", order_response.order_id);

# Features

- **Type Safety**: Comprehensive type definitions with validation
- **Error Handling**: Robust error types with detailed context
- **Flexible API**: Both direct client methods and modular interfaces
- **Validation**: Built-in validators for Turkish phone numbers, emails, and identity numbers
- **Webhook Support**: Cryptographic webhook verification
- **Installments**: Support for installment plan creation and management

# Module Organization

- [`client`] - Core HTTP client and API methods
- [`config`] - Configuration management
- [`error`] - Error types and handling
- [`types`] - Data types for API requests and responses
- [`modules`] - Modular API interfaces (orders, payments, webhooks, etc.)

Re-exports§

pub use client::TapsilatClient;
pub use config::Config;
pub use error::Result;
pub use error::TapsilatError;
pub use modules::InstallmentModule;
pub use modules::OrderModule;
pub use modules::PaymentModule;
pub use modules::Validators;
pub use modules::WebhookModule;
pub use modules::installments::CreateInstallmentPlanRequest;
pub use modules::installments::Installment;
pub use modules::installments::InstallmentPlan;
pub use modules::installments::InstallmentStatus;
pub use modules::installments::RefundInstallmentRequest;
pub use modules::installments::UpdateInstallmentRequest;
pub use types::*;

Modules§

client
HTTP client implementation for the Tapsilat API.
config
Configuration management for the Tapsilat SDK.
error
Error types and handling for the Tapsilat SDK.
modules
types