Geliştirici kaynakları

Node.js SDK

Node.js SDK, ödeme isteğini hazırlama, 3D Secure yönlendirmesini yönetme ve dönen sonucu doğrulama adımlarını sunucu tarafındaki uygulamanızdan yürütmenizi sağlar. Aşağıdaki adımlar genel akışı anlatır; paket adı, metot isimleri ve alan kümesi seçilen ödeme kuruluşunun çözümüne göre değişir.

  • Test ve canlı anahtarlar ayrı
  • Anahtarlar sunucu tarafında kalır
  • Sandbox ortamında uçtan uca deneme

SDK erişimi ve anahtarlarınız, hesabınız açıldıktan sonra tanımlanır.

Paket adı, sürüm desteği ve kapsanan işlemler, çalışılacak ödeme kuruluşunun çözümüne göre değişir.

Node.js entegrasyonu

Ödeme akışını sunucu tarafında kurun.

Node.js uygulamanızdan ödeme başlatma, sonucu doğrulama ve bildirimleri işleme adımlarını sırayla kurun.

Kurulum ve anahtarlar

  • Paket adı dokümantasyonda belirtilir
  • Anahtarlar ortam değişkeninde tutulur
  • Test ve canlı ortam ayrı yapılandırılır

Anahtarları depoya veya istemci tarafına koymayın.

Temel ödeme akışı

  • İstek sunucudan gönderilir
  • 3D Secure yönlendirmesi döner
  • Sonuç sunucuda doğrulanır

Ödemeyi yalnız tarayıcıdan dönen bilgiye bakarak tamamlamayın.

Bildirim ve hata yönetimi

  • Webhook imzası doğrulanır
  • Aynı bildirim tekrar gelebilir
  • Hata kodu ve mesajı loglanır

Bildirim işleyicinizi tekrar eden çağrılara dayanıklı yazın.

SDK paketi, kurulum komutu ve sürüm desteği hesabınız açıldığında iletilen dokümantasyonda belirtilir.

Ücretsiz Başvuru →Log ve test verilerinde gerçek kart bilgisi tutmayın. Ayrıntı için: KVKK Aydınlatma Metni.
Sık sorulan sorular

Node.js SDK hakkında.

SDK paketini nasıl kurarım?

Paket adı ve kurulum komutu, hesabınız açıldığında iletilen dokümantasyonda belirtilir. Kurulum sonrası adımlar için entegrasyon kılavuzu ve API dokümantasyonu sayfalarına bakın.

API anahtarlarımı nerede tutmalıyım?

Anahtarlar yalnız sunucu tarafında, ortam değişkeni ya da gizli anahtar yöneticisi içinde tutulmalıdır. Tarayıcıya giden pakete veya sürüm deposuna eklenmemelidir; test ve canlı anahtarlar ayrı yapılandırılır.

Ödemeyi test ortamında deneyebilir miyim?

Evet. Akışı canlıya almadan önce test ortamı (sandbox) üzerinde çalıştırın; senaryolar için test kartları sayfasını kullanın.

Ödeme sonucunu nasıl kesinleştiririm?

Sonuç, sunucunuza gelen callback ya da webhook bildiriminin imzası doğrulandıktan sonra kesinleşir. Alanlar ve doğrulama adımları için webhook ve callback sayfasına bakın.

Hata kodlarının karşılığını nereden görürüm?

Dönen kodların açıklaması için POS hata kodları sayfasını kullanın; kod ve mesaj kümesi seçilen ödeme kuruluşunun çözümüne göre değişebilir.

Entegrasyona başlayın

Önce başvurunuzu tamamlayalım.

SDK erişimi, anahtarlar ve dokümantasyon hesap açılışıyla tanımlanır. Ön değerlendirme için başvuru formunu doldurun.

Başvuru ücretsizdir. Teklifi inceleyip karar verin.

Başvuru nasıl ilerler? →

Teknik sorularınız için:0212 909 00 87ya da WhatsApp’tan yazın

Ayrıntılar

Kurulum ve Anahtar Yönetimi

SDK paketi ve kurulum komutu, hesabınız açıldığında iletilen dokümantasyonda belirtilir. Kurulumdan sonra istemciyi anahtarlarınızla başlatırsınız. Aşağıdaki paket adı örnek/yer tutucudur; gerçek adı dokümantasyonunuzdan alın.

js
// Paket adı yer tutucudur; gerçek ad dokümantasyonunuzda belirtilir.
const { PosClient } = require("sanalpos_sdk");

const pos = new PosClient({
  apiKey: process.env.POS_API_KEY,
  secret: process.env.POS_SECRET,
  mode: process.env.NODE_ENV === "production" ? "live" : "test"
});

Anahtarlar yalnız sunucu tarafında kalmalıdır: ortam değişkeninde ya da gizli anahtar yöneticisinde tutun, sürüm deposuna ve tarayıcıya giden pakete koymayın. Test ve canlı anahtarlar ayrı tanımlanır; test anahtarıyla yapılan işlemler gerçek para hareketine dönüşmez. Ortam seçimini tek bir yapılandırma noktasında toplarsanız canlıya geçişte değiştirilecek tek yer orası olur.

Ödeme Akışını Kurmak

Ödeme isteği her zaman sunucudan gönderilir. Tutar, para birimi, sipariş numarası ve dönüş adresleri istekte yer alır; kart bilgisi sizin sunucunuzdan geçiyorsa saklanmaz, yalnız iletilir. Yanıtta 3D Secure doğrulaması için bir yönlendirme gelir ve kullanıcı bankanın doğrulama ekranına gider.

js
const odeme = await pos.payments.create({
  orderId: "SIP-10245",
  amount: 149.90,
  currency: "TRY",
  callbackUrl: "https://ornek-site.com/odeme/sonuc",
  installment: 1
});

// odeme.redirectUrl -> kullanıcı 3D Secure doğrulamasına yönlendirilir

Kullanıcı doğrulamayı tamamlayınca belirttiğiniz dönüş adresine bir bildirim gelir. Siparişi bu aşamada, sunucu tarafında yaptığınız doğrulamadan sonra tamamlanmış sayın; tarayıcıdan dönen bilgiye bakarak sipariş kapatmak güvenli değildir. Akışın tamamını canlıya almadan önce test ortamı (sandbox) üzerinde, test kartları ile deneyin.

Webhook, Callback ve Hata Yönetimi

Ödeme sonucunu kendi veritabanınıza işlemek için bildirim uç noktanızda önce imza doğrulaması yapın, sonra sipariş durumunu güncelleyin. Aynı bildirim ağ koşullarına bağlı olarak birden fazla kez gelebilir; işleyiciyi tekrar eden çağrılarda aynı sonucu üretecek biçimde (idempotent) yazın ve daha önce işlenmiş sipariş numarasını yeniden işlemeyin.

js
app.post("/odeme/bildirim", express.json(), (req, res) => {
  if (!pos.webhooks.verify(req.headers["x-signature"], req.body)) {
    return res.status(400).end();
  }
  siparisiGuncelle(req.body.orderId, req.body.status); // idempotent olmalı
  res.status(200).end();
});

Başarısız işlemlerde dönen hata kodunu ve mesajını sipariş kaydıyla birlikte loglayın; kullanıcıya teknik mesajı olduğu gibi göstermek yerine anlaşılır bir metne çevirin. Kodların karşılığı için POS hata kodları, bildirim alanları ve doğrulama adımları için webhook ve callback sayfalarına bakın.

Canlıya Geçiş ve İlgili Sayfalar

Sandbox ortamında başarılı ödeme, başarısız ödeme, iptal ve iade senaryolarını gördükten sonra canlı anahtarlara geçilir. Geçişte değişen tek şey anahtarlar ve ortam ayarı olmalı; kod akışının aynı kalması, canlıda sürprizle karşılaşma ihtimalini düşürür. Canlı ortamda bildirim uç noktanızın dışarıdan erişilebilir ve HTTPS üzerinde olduğunu doğrulayın.

Adım adım kurulum için entegrasyon kılavuzu, uç nokta ve alan listesi için API dokümantasyonu, hazır örnekler için örnek kodlar sayfalarına bakabilirsiniz. Diğer diller için PHP ve Python SDK sayfaları, genel yetenekler için API ve SDK entegrasyonu sayfası kullanılabilir.

Ara WhatsApp Ücretsiz Başvur →