Skip to main content

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://panel.tapsilat.dev/api/v1")
    .with_timeout(30);
let client = TapsilatClient::new(config)?;

// Create an order
let order_request = CreateOrderRequest {
    amount: 100.0,
    currency: "TRY".to_string(),
    locale: "tr".to_string(),
    conversation_id: Some("order-123".to_string()),
    buyer: tapsilat::types::CreateBuyerRequest {
        name: "John".to_string(),
        surname: "Doe".to_string(),
        email: Some("john@example.com".to_string()),
        gsm_number: None, identity_number: None, registration_address: None, ip: None, city: None, country: None, zip_code: None
    },
    basket_items: None,
    billing_address: None,
    shipping_address: None,
    checkout_design: None,
    enabled_installments: None,
    external_reference_id: None,
    order_cards: None,
    paid_amount: None,
    partial_payment: None,
    payment_failure_url: None,
    payment_methods: None,
    payment_mode: None,
    payment_options: None,
    payment_success_url: None,
    payment_terms: None,
    pf_sub_merchant: None,
    redirect_failure_url: None,
    redirect_success_url: None,
    sub_organization: None,
    submerchants: None,
    tax_amount: None,
    three_d_force: None,
    metadata: None,
    consents: 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