Developer API Documentation

FastCrypt API v2.0

FastCrypt Gateway API'si, E-Ticaret platformlarınıza veya uygulamalarınıza dakikalar içinde kesintisiz Kripto Para kabul etme yeteneği kazandırır.

Güvenli REST API Gerçek Zamanlı Webhook POS Cihazı Uyumu

1. Authentication (Yetkilendirme)

API istekleri yapabilmek için API Key ve API Secret'a ihtiyacınız vardır. Sistem Bearer Token mekanizmasıyla değil, direkt header üzerinden statik analiz yapar. (Eğer Güvenlik Duvarı aktifse yalnızca izinli IP adresleri istek atabilir).

ÖNEMLİ: API uçlarınıza atacağınız isteklerdeki gizliliği sağlamak için asla frontend kodlarından (Tarayıcıdan) istek atmayın! İstekler her zaman arka uç (Backend) sunucunuzdan gelmelidir.

2. Ödeme Oluşturma (Create Payment)

Müşterilerinize ödeme ekranı göstermeden önce eşsiz bir ödeme seansı ve tek kullanımlık bir kripto cüzdanı oluşturmalısınız. Fiat para (USD, TRY, EUR) gönderirseniz sistem anlık kur üzerinden gerekli kripto tutarını sizin için hesaplar.

POSThttps://api.fastcyrpt.com/payments

cURL Örneği

bash
curl -X POST https://api.fastcyrpt.com/payments \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -d '{"merchantId": "YOUR_MERCHANT_ID", "expectedAmount": 1500, "fiatCurrency": "TRY", "currency": "USDT", "chain": "TRON"}'

Node.js (Axios) Örneği

javascript
const axios = require('axios');

const response = await axios.post('https://api.fastcyrpt.com/payments', {
  merchantId: 'YOUR_MERCHANT_ID',
  expectedAmount: 1500,
  fiatCurrency: 'TRY', // İsteğe bağlı: Kripto veya Fiat (TRY, USD, EUR) tutarı
  currency: 'USDT',
  chain: 'TRON'
}, {
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'x-api-secret': 'YOUR_API_SECRET'
  }
});

console.log(response.data.checkoutUrl); // Müşteriyi Yönlendireceğiniz Link

3. Webhook (Geri Bildirim) Doğrulama

Ödeme блок zincirinde onaylandığında (Confirmation) FastCrypt, Settings panelinize kaydettiğiniz Webhook URL'sine bir POST isteği gönderir. Sahte istekleri engellemek için isteğin bizden geldiğini HMAC-SHA256 imzasıyla doğrulamanız şarttır.

PHP (Laravel/Core) Doğrulama Örneği

php
<?php
// Gelen datayı oku
$payload = file_get_contents('php://input');

// Request Header'dan FastCrypt İmzasını al
$signatureHeader = $_SERVER['HTTP_X_FASTCRYPT_SIGNATURE'] ?? '';

// FastCrypt Settings Panelinizde yazan "HMAC-SHA256 Secret"
$myWebhookSecret = "demo_signature_secret_123";

// Gönderilen veriyi Secret ile SHA-256 hashle
$calculatedHash = hash_hmac('sha256', $payload, $myWebhookSecret);

if (hash_equals($calculatedHash, $signatureHeader)) {
    // Güvenlik Kalkanı Geçildi! Veri Kesinlikle FastCrypt'ten Geliyor!
    $data = json_decode($payload, true);
    $paymentId = $data['paymentId'];
    $status = $data['status']; // 'CONFIRMED'
    
    // Veritabanınızda siparişi onaylayın
    updateOrderToPaid($paymentId);
    
    http_response_code(200);
    echo "Webhook Onaylandı";
} else {
    // Kötü niyetli sızma girişimi
    http_response_code(401);
    echo "Geçersiz İmza";
}

4. POS Terminal API (Kasa Cihazları)

Fiziksel restoranlar, mağazalar veya taksiler için geliştirdiğiniz Kasa/Adisyon (Point of Sale) tablet yazılımlarında FastCrypt kullanmak çok basittir. API Key gibi gizli verileri tabletlere göndermek yerine sadece "POS_KEY" parametresini kullanarak anlık QR ekranları yaratabilirsiniz.

POSThttps://api.fastcyrpt.com/payments/pos/:posKey

Sadece tutarı iletip işlemi başlatın (Yetki gerektirmez). Yaratılan işlem URL'sini tablettte bir iFrame veya Popup olarak açın.

bash
curl -X POST https://api.fastcyrpt.com/payments/pos/xyz123abPOS_KEY \
  -H "Content-Type: application/json" \
  -d '{"expectedAmount": 250, "fiatCurrency": "TRY", "currency": "USDT", "chain": "TRON"}'