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::*;