İstemciyi Kurmak
Dokümandaki bütün SDK örnekleri ($client->securePayment(...), client.regularPayment(...) vb.) bu sayfada kurulan istemciyi kullanır. İstemci uygulama başlarken bir kez kurulur ve bütün isteklerde aynı nesne kullanılır.
Gereken bilgiler
| Seçenek | Değer | Nereden |
|---|---|---|
baseUrl | Gateway adresi: sandbox'ta https://sandbox.odemehub.com, canlıda https://app.odemehub.com | Ortamlar ve Adresler |
team | Çalışma Alanı Kimliği (10 haneli sayı) | Panel → Entegrasyon |
apiKey | API anahtarı (key_...) | Panel → Entegrasyon |
apiSecret | Gizli anahtar (secret_...) | Panel → Entegrasyon |
Aşağıdaki örnekler bu değerleri ortam değişkenlerinden okur: ODEMEHUB_TEAM, ODEMEHUB_API_KEY, ODEMEHUB_API_SECRET.
Kurulum ve istemci
- PHP
- Node.js
- Python
- Java
- cURL
composer require odemehub/php-sdk
use Gurmehub\Odemehub\Client;
use Gurmehub\Odemehub\Options;
$client = new Client(new Options(
baseUrl: 'https://sandbox.odemehub.com',
team: getenv('ODEMEHUB_TEAM'),
apiKey: getenv('ODEMEHUB_API_KEY'),
apiSecret: getenv('ODEMEHUB_API_SECRET'),
));
$payment = $client->regularPayment(/* ... */);
npm install @odemehub/node-sdk
import { Client } from '@odemehub/node-sdk';
const client = new Client({
baseUrl: 'https://sandbox.odemehub.com',
team: process.env.ODEMEHUB_TEAM!,
apiKey: process.env.ODEMEHUB_API_KEY!,
apiSecret: process.env.ODEMEHUB_API_SECRET!,
});
const payment = await client.regularPayment({ /* ... */ });
pip install odemehub
import os
from odemehub import Client, Options
client = Client(Options(
base_url="https://sandbox.odemehub.com",
team=os.environ["ODEMEHUB_TEAM"],
api_key=os.environ["ODEMEHUB_API_KEY"],
api_secret=os.environ["ODEMEHUB_API_SECRET"],
))
payment = client.regular_payment(...)
<dependency>
<groupId>com.odemehub</groupId>
<artifactId>java-sdk</artifactId>
<version>1.0.4</version>
</dependency>
import com.odemehub.Client;
import com.odemehub.Options;
Client client = new Client(Options.builder()
.baseUrl("https://sandbox.odemehub.com")
.team(System.getenv("ODEMEHUB_TEAM"))
.apiKey(System.getenv("ODEMEHUB_API_KEY"))
.apiSecret(System.getenv("ODEMEHUB_API_SECRET"))
.build());
var payment = client.regularPayment(/* ... */);
SDK kullanmadan her isteği kendiniz imzalarsınız. cURL örnekleri şu değişkenleri kullanır:
export ODEMEHUB_TEAM="4829301756"
export ODEMEHUB_API_KEY="key_..."
export ODEMEHUB_API_SECRET="secret_..."
İmzalama: Kimlik Doğrulama ve İmza.
İstemci nasıl çalışır
- İstek adresi
{baseUrl}/api/{team}/gateway/{uç}olarak oluşturulur. - Her istek gizli anahtarla imzalanır;
X-Api-Key,X-TimestampveX-Signaturebaşlıkları eklenir. Yanıtın imzası doğrulanır; tutmazsaSignatureException/SignatureErroratılır. - İsteğe bağlı bir alan verilmezse gövdeye yazılmaz. SDK alanları kendisi denetlemez; kuralları gateway uygular ve
422ile alan alan bildirir. - Tek bir kaydı adlandıran istek alanı her SDK'da
token'dır (RefundPayment,UpdateOrder,DeleteSavedCard…). Sorgu istekleri token, referans ya da tarih aralığıyla kurulur; bkz.retrieve-payments. - Gizli anahtar hiçbir istekte gönderilmez; yalnızca sunucu tarafında tutulmalıdır.
Zaman aşımı, özel HTTP istemcisi ve hata sınıfları gibi ayrıntılar her SDK'nın sayfasındadır: PHP, Node.js, Python, Java.