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