Başlarken
SDK'lar

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-sdk
const { 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çenekZorunluVarsayılan
baseUrlevet—
keyIdevet—
privateKeyevet—
timeoutMshayır30000
maxRetrieshayır2

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ünErişim
Ödemelerlunixi.payments
Ödeme linklerilunixi.paymentLinks
Fraud kararları ve olaylarlunixi.fraud
Webhook imza doğrulamaWebhookVerifier

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-sdk
use 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