Files
Pay2Gateway/README.md

132 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 Pay2Gateway: Hibrit Kripto & Geleneksel Ödeme Geçidi Altyapısı
Pay2Gateway, modern e-ticaret siteleri ve dijital platformlar için geliştirilmiş, **Next.js 15** ve **PostgreSQL** tabanlı, hibrit bir ödeme geçidi (Payment Gateway) çözümüdür. Sistem, geleneksel ödeme sağlayıcılarını (Stripe vb.) on-chain kripto ödemeleriyle birleştirerek firmalara tam otomatik ve esnek bir tahsilat altyapısı sunar.
---
## 🌟 Öne Çıkan Özellikler
### 🛡️ Kurumsal API Yönetimi (v1)
* **API Key Yetkilendirme:** Firmalar (Merchants) için sunucu taraflı güvenli erişim.
* **Checkout Sessions:** Fiyat manipülasyonunu engelleyen, tek kullanımlık güvenli ödeme oturumları.
* **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ı.
### 💰 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ığı.
### 📊 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.
---
## 🛠️ Teknoloji Yığını
* **Frontend & API:** [Next.js 15](https://nextjs.org/) (App Router)
* **Veritabanı:** PostgreSQL (Direct connectivity via `pg`)
* **Blockchain:**
* [Ethers.js](https://docs.ethers.org/v6/) (EVM)
* [@solana/web3.js](https://solana-labs.github.io/solana-web3.js/) (Solana)
* **Styling:** Modern Vanilla CSS & Tailwind (Hibrit)
* **İkon Seti:** Lucide React
---
## 🚀 Hızlı Kurulum
### 1. Depoyu Klonlayın
```bash
git clone https://github.com/mstfyldz/Pay2Gateway.git
cd Pay2Gateway
```
### 2. Bağımlılıkları Yükleyin
```bash
npm install
```
### 3. Ortam Değişkenlerini Yapılandırın
`.env` dosyasını oluşturun ve aşağıdaki bilgileri girin:
```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=...
EVM_PLATFORM_ADDRESS=...
# Gaz Yakıt Cüzdanı (Fonları süpürmek için gerekli gaz ücreti)
CRYPTO_GAS_TANK_KEY=0x...
```
### 4. Geliştirme Modunu Başlatın
```bash
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`
```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"
}
}
```
---
## 📂 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.
---
## 🔐 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.
---
**Pay2Gateway** - *Geleceğin Ödeme Altyapısı.*