| SDK | Paket | Gereksinim | Sayfa |
|---|
| PHP | odemehub/php-sdk (Composer) | PHP 8.2+, Guzzle | PHP |
| Node.js | @odemehub/node-sdk (npm) | Node.js 18+ | Node.js |
| Python | odemehub (pip) | Python 3.10+ | Python |
| Java | com.odemehub:java-sdk:1.0.0 (Maven) | Java 17+, Jackson | Java |
Ortak davranış
- İstemci
baseUrl, team, channelToken, apiKey, apiSecret ile bir kez kurulur. İstek adresi {baseUrl}/api/{team}/gateway/{uç} olarak oluşturulur.
- Her istek JSON'a çevrilir, gizli anahtarla imzalanır ve
X-Api-Key, X-Signature, Content-Type: application/json, Accept: application/json başlıklarıyla gönderilir.
channelToken her istekte gövdenin ilgili channel_token alanına yazılır. İstek nesnesinde channelToken verilerek istek bazında değiştirilebilir.
- İsteğe bağlı alanlar verilmezse gövdeye yazılmaz.
200 yanıtının imzası doğrulanır ve yanıt tipli bir nesneye çevrilir. Diğer durum kodları istisna olarak atılır.
- Varsayılan zaman aşımı 60 saniyedir.
Metotlar
| Uç | PHP / Node.js / Java | Python |
|---|
secure-payment | securePayment | secure_payment |
regular-payment | regularPayment | regular_payment |
order-payment | orderPayment | order_payment |
subscription-payment | subscriptionPayment | subscription_payment |
retrieve-payment | retrievePayment | retrieve_payment |
retrieve-bin | retrieveBin | retrieve_bin |
refund-payment | refundPayment | refund_payment |
cancel-payment | cancelPayment | cancel_payment |
save-product | saveProduct | save_product |
retrieve-subscription | retrieveSubscription | retrieve_subscription |
cancel-subscription | cancelSubscription | cancel_subscription |
save-card | saveCard | save_card |
saved-cards | savedCards | saved_cards |
default-saved-card | defaultSavedCard | default_saved_card |
delete-saved-card | deleteSavedCard | delete_saved_card |
| Abonelik webhook'unu okuma | subscriptionWebhook | subscription_webhook |
İstisnalar
| PHP, Java | Node.js, Python | Durum |
|---|
ValidationException | ValidationError | 422; errors alan → mesaj listesi. |
AuthenticationException | AuthenticationError | 401. |
UnexpectedResponseException | UnexpectedResponseError | Diğer durum kodları (403 dahil) ya da okunamayan yanıt; status HTTP kodu. |
SignatureException | SignatureError | Yanıtın ya da webhook'un imzası tutmadı. |
TransportException | TransportError | Gateway'e ulaşılamadı. |
Temel sınıf: OdemehubException (PHP, Java) / OdemehubError (Node.js, Python). Sağlayıcının reddettiği ödeme istisna değildir; result.successful false döner.
İmza yardımcısı
Her SDK bir Signature sınıfı içerir: sign(body) ve verify(body, signature). SDK dışında gelen gövdeleri doğrulamak için kullanılabilir. Bkz. Kimlik Doğrulama ve İmza.