SDK'lar
Sunucu tarafı entegrasyon için iki resmî SDK yayınlanmıştır: Node.js ve PHP. Her ikisi de REST API'nin üzerinde ince bir sarmalayıcıdır ve sizi tekrar eden üç işten kurtarır: Ed25519 istek imzalama, token'ın önbellekte tutulup süresi dolunca yenilenmesi ve yanıt zarfının çözülmesi.
Tarayıcı ve mobil uygulama içinde çalışan istemci SDK'ları ayrı bir ailededir. → Web SDK Genel Bakış · Mobil SDK Genel Bakış
Node.js
npm install @lunixi/node-sdkconst { LunixiClient } = require('@lunixi/node-sdk');
const lunixi = new LunixiClient({
baseUrl: 'https://api-gateway.lunixi.com',
keyId: process.env.LUNIXI_KEY_ID,
privateKey: process.env.LUNIXI_PRIVATE_KEY_PEM,
});
const token = await lunixi.tokens.getToken();| Seçenek | Zorunlu | Varsayılan |
|---|---|---|
baseUrl | evet | — |
keyId | evet | — |
privateKey | evet | — |
timeoutMs | hayır | 30000 |
maxRetries | hayır | 2 |
Node.js 18 ve üzeri gerekir. Anahtar çiftini SDK ile de üretebilirsiniz:
const { publicKey, privateKey } = LunixiClient.generateKeyPair();Public anahtarı panele kaydeder, özel anahtarı yalnız kendi sunucunuzda tutarsınız.
TypeScript tip tanımları pakete dahildir.
Node.js SDK'sının kapsamı:
| Ürün | Erişim |
|---|---|
| Ödemeler | lunixi.payments |
| Ödeme linkleri | lunixi.paymentLinks |
| Fraud kararları ve olaylar | lunixi.fraud |
| Webhook imza doğrulama | WebhookVerifier |
Abonelik, KYC, sanction, marketplace ve identity uçları Node.js SDK'sında yoktur; bunlar için PHP SDK'sını ya da aşağıdaki REST akışını kullanın.
PHP
composer require lunixi/php-sdkuse Lunixi\Sdk\LunixiClient;
$lunixi = LunixiClient::create([
'baseUrl' => 'https://api-gateway.lunixi.com',
'keyId' => getenv('LUNIXI_KEY_ID'),
'privateKey' => getenv('LUNIXI_PRIVATE_KEY_PEM'),
'environment' => 'LIVE',
]);
$decision = $lunixi->fraud()->evaluate($request);PHP 7.4 ve üzeri ile ext-sodium, ext-curl, ext-json, ext-hash gerekir. environment yalnız LIVE ya da TEST değerini alır.
Facade üzerinden erişilen istemciler: payments(), paymentLinks(), subscriptions(), fraud(), kyc(), sanction(), marketplace(), identity(), webhooks().
Diğer diller
Sunucu tarafı için resmî SDK yalnız Node.js ve PHP'de vardır. Diğer dillerden REST API'yi doğrudan çağırabilirsiniz; aşağıdaki bölüm imzalama akışını anlatır.
SDK kullanmadan REST
SDK kullanmak zorunlu değildir. Tek fark, imzalama ve token yönetimini kendiniz yapmanızdır.
Akış iki adımdır. Önce Ed25519 özel anahtarınızla imzaladığınız bir istekle token alırsınız:
curl -X POST https://api-gateway.lunixi.com/api/v1/auth/token \
-H "X-Key-Id: $LUNIXI_KEY_ID" \
-H "X-Date: $DATE" \
-H "X-Nonce: $NONCE" \
-H "X-Signature: $SIGNATURE"Ardından dönen access_token ile uçları çağırırsınız:
curl -X POST https://api-gateway.lunixi.com/api/v1/fraud/decisions/evaluate \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "transactionRef": "order-2026-0001", "subjectId": "order-2026-0001" }'API anahtarınız doğrudan Authorization başlığına konmaz. Anahtar yalnız token almak için imza üretir; uçlara giden değer, o token'dan dönen access_token'dır. → Kimlik Doğrulama
Token 5 dakika yaşar. Her çağrıda yeni token basmak yerine token'ı önbellekte tutun ve expires_at'e bakarak yenileyin — SDK'lar bunu sizin için yapar.
İlgili
- Kimlik Doğrulama — kanonik dize, imza başlıkları ve token ömrü
- Test Ortamı — TEST anahtarıyla çalışma
- Hata Yönetimi — yanıt zarfı ve hata kodları