132 lines
4.4 KiB
Markdown
132 lines
4.4 KiB
Markdown
# 🚀 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ı.*
|