feat: implement platform treasury model with merchant balance tracking and API docs

This commit is contained in:
mstfyldz
2026-03-13 01:33:28 +03:00
parent 5d14a08490
commit 3f2e21c3d3
8 changed files with 245 additions and 108 deletions

View File

@@ -12,18 +12,23 @@ Pay2Gateway, modern e-ticaret siteleri ve dijital platformlar için geliştirilm
* **Gelişmiş Webhook'lar:** Ödeme tamamlandığında veya süpürme (sweep) işlemi gerçekleştiğinde otomatik JSON bildirimleri.
### ⛓️ Çoklu Zincir (Multi-Chain) Desteği
* **EVM Desteği:** Ethereum, Polygon ve BSC ağlarında işlem yapabilme.
* **Solana Desteği:** SOL ve SPL tokenlar (USDC vb.) için tam entegrasyon.
* **Otomatik Süpürme (Auto-Sweep):** Toplanan fonların ana platform cüzdanına saniyeler içinde otomatik olarak aktarılması.
* **Geniş Ağ Desteği:**
* **EVM:** Ethereum, Polygon, BSC.
* **Solana:** Native SOL ve SPL tokenlar (USDC/USDT).
* **TRON (TRC20):** USDT ve TRX desteği.
* **BITCOIN:** Native BTC ödeme doğrulama.
* **Otomatik Süpürme (Auto-Sweep):** Toplanan fonların ana platform ve merchant cüzdanlarına saniyeler içinde otomatik olarak aktarılması (Server-side split).
* **Gelişmiş Doğrulama:** Her ağ için optimize edilmiş on-chain/API doğrulama mekanizmaları.
### 💰 Dinamik Token & Fiyatlandırma
* **Top 20 Token:** CoinMarketCap listesindeki en hacimli 20 kripto para birimi desteği.
* **Binance API Entegrasyonu:** Gerçek zamanlı TRY/USD kuru ve token fiyat dönüşümleri.
* **Merkezi Konfigürasyon:** `lib/crypto-config.json` üzerinden anında yeni ağ veya token ekleme kolaylığı.
### 💰 Esnek Komisyon & Fiyatlandırma
* **Merchant-Specific Fees:** Her firma için özel komisyon oranı (%Fee) belirleme imkanı.
* **Zengin Token Listesi:** USDT, USDC, BTC, ETH, TRX, MATIC ve popüler altcoinler.
* **Görsel Deneyim:** Dinamik coin logoları ve profesyonel checkout arayüzü.
* **Binance API Entegrasyonu:** Gerçek zamanlı TRY/USD kuru ve anlık token fiyat dönüşümleri.
### 📊 Yönetim Panelleri
* **Admin Dashboard:** Tüm sistem istatistikleri, toplam ciro, işlem başarı oranları ve müşteri analitiği.
* **Merchant (Firma) Paneli:** İşlem listesi, API anahtarı yönetimi, webhook yapılandırması ve teknik entegrasyon rehberi.
* **Admin Dashboard:** Merkezi yönetim, firma ekleme/düzenleme, özel komisyon atama ve global istatistikler.
* **Merchant Panel:** API anahtarı yönetimi, işlem geçmişi ve teknik entegrasyon rehberi.
---
@@ -34,12 +39,13 @@ Pay2Gateway, modern e-ticaret siteleri ve dijital platformlar için geliştirilm
* **Blockchain:**
* [Ethers.js](https://docs.ethers.org/v6/) (EVM)
* [@solana/web3.js](https://solana-labs.github.io/solana-web3.js/) (Solana)
* [TronWeb](https://developers.tron.network/) (TRON)
* **Styling:** Modern Vanilla CSS & Tailwind (Hibrit)
* **İkon Seti:** Lucide React
* **İkon Seti:** Lucide React & Cryptocurrency-Icons (GitHub CDN)
---
## 🚀 Hızlı Kurulum
## 🚀 Hızlı Kuruluk
### 1. Depoyu Klonlayın
```bash
@@ -53,24 +59,21 @@ npm install
```
### 3. Ortam Değişkenlerini Yapılandırın
`.env` dosyasını oluşturun ve aşağıdaki bilgileri girin:
`.env` dosyasını oluşturun:
```env
DATABASE_URL=postgres://user:pass@host:5432/db
NEXT_PUBLIC_BASE_URL=http://localhost:3000
NEXT_PUBLIC_USE_MOCK_PAYMENTS=true # Test için true kalsın
# Kripto Platform Cüzdanları (Süpürme Hedefi)
SOL_PLATFORM_ADDRESS=...
# Platform Cüzdanları (Süpürme Hedefi)
EVM_PLATFORM_ADDRESS=...
SOL_PLATFORM_ADDRESS=...
TRON_PLATFORM_ADDRESS=...
# Gaz Yakıt Cüzdanı (Fonları süpürmek için gerekli gaz ücreti)
# Gaz Yakıt Cüzdanı
CRYPTO_GAS_TANK_KEY=0x...
```
### 4. Geliştirme Modunu Başlatın
```bash
npm run dev
TRON_GRID_API_KEY=...
```
---
@@ -78,32 +81,14 @@ npm run dev
## 📡 API Kullanımı (v1)
### Ödeme Oturumu Başlatma
Firmalar kendi sunucularından şu uç noktaya istek atarak bir ödeme oturumu başlatabilirler.
**Request:**
- **URL:** `POST /api/v1/checkout`
- **Headers:** `x-api-key: YOUR_MERCHANT_API_KEY`
URL: `POST /api/v1/checkout` | Headers: `x-api-key: YOUR_KEY`
```json
{
"amount": 250.00,
"currency": "TRY",
"order_id": "OD_12345",
"customer_name": "John Doe",
"success_url": "https://mysite.com/success",
"cancel_url": "https://mysite.com/cancel"
}
```
**Response:**
```json
{
"success": true,
"data": {
"id": "uuid-transaction-id",
"checkout_url": "http://localhost:3000/checkout?session_id=uuid-transaction-id",
"status": "pending"
}
"customer_name": "John Doe"
}
```
@@ -111,20 +96,18 @@ Firmalar kendi sunucularından şu uç noktaya istek atarak bir ödeme oturumu b
## 📂 Dosya Yapısı
* `/app/api/v1` - Dışarıya açık profesyonel API endpoints.
* `/app/admin` - Merkezi yönetim paneli.
* `/app/merchant` - Firma özel dashboard ve ayarlar.
* `/lib/crypto-engine.ts` - On-chain ana motor (Doğrulama, Süpürme).
* `/lib/crypto-config.json` - Desteklenen ağlar ve token listesi.
* `/lib/db.ts` - PostgreSQL bağlantı havuzu.
* `/lib/crypto-engine.ts` - On-chain ana motor (Doğrulama, Süpürme, Çoklu Ağ).
* `/lib/crypto-config.json` - Ağlar, tokenlar ve dinamik logoların konfigürasyonu.
* `/components/checkout` - Dinamik logo destekli premium ödeme bileşenleri.
* `/scripts` - Veritabanı migrasyonları ve cüzdan yönetim araçları.
---
## 🔐 Güvenlik Politikası
1. **Private Key Yönetimi:** Geçici cüzdan anahtarları şifrelenmiş olarak işlem metadata'sında saklanır ve fon süpürüldükten sonra işlevini yitirir.
2. **Fiyat Güvenliği:** Ödeme oturumları (`session_id`) sunucu taraflı oluşturulur; istemci tarafında tutar değişikliği yapılamaz.
3. **Hız Sınırı (Rate Limiting):** API istekleri anahtar tabanlı olarak sunucu tarafında izlenir.
1. **İzole Cüzdanlar:** Her işlem için benzersiz geçici cüzdanlar üretilir.
2. **Otomatik Bölüştürme:** Fonlar sunucu tarafında platform ve merchant arasında güvenle paylaştırılır.
3. **Hassas Veri:** Cüzdan anahtarları ve kritik migration scriptleri repo dışı (`.gitignore`) tutulur.
---