Ana içeriğe geç

SDK'lar

SDKPaketGereksinimSayfa
PHPodemehub/php-sdk (Composer)PHP 8.2+, GuzzlePHP
Node.js@odemehub/node-sdk (npm)Node.js 18+Node.js
Pythonodemehub (pip)Python 3.10+Python
Javacom.odemehub:java-sdk:1.0.0 (Maven)Java 17+, JacksonJava

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 / JavaPython
secure-paymentsecurePaymentsecure_payment
regular-paymentregularPaymentregular_payment
order-paymentorderPaymentorder_payment
subscription-paymentsubscriptionPaymentsubscription_payment
retrieve-paymentretrievePaymentretrieve_payment
retrieve-binretrieveBinretrieve_bin
refund-paymentrefundPaymentrefund_payment
cancel-paymentcancelPaymentcancel_payment
save-productsaveProductsave_product
retrieve-subscriptionretrieveSubscriptionretrieve_subscription
cancel-subscriptioncancelSubscriptioncancel_subscription
save-cardsaveCardsave_card
saved-cardssavedCardssaved_cards
default-saved-carddefaultSavedCarddefault_saved_card
delete-saved-carddeleteSavedCarddelete_saved_card
Abonelik webhook'unu okumasubscriptionWebhooksubscription_webhook

İstisnalar​

PHP, JavaNode.js, PythonDurum
ValidationExceptionValidationError422; errors alan → mesaj listesi.
AuthenticationExceptionAuthenticationError401.
UnexpectedResponseExceptionUnexpectedResponseErrorDiğer durum kodları (403 dahil) ya da okunamayan yanıt; status HTTP kodu.
SignatureExceptionSignatureErrorYanıtın ya da webhook'un imzası tutmadı.
TransportExceptionTransportErrorGateway'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.