Skip to main content
Sanal POS API’sini hızlı denemek için iki koleksiyon sunuyoruz:

Postman Collection

Postman 10+ ile uyumlu v2.1 koleksiyon. Tüm endpoint’ler, örnek payload’lar ve environment dahil.

.http Dosyası

VS Code REST Client, JetBrains IDE’leri ve Visual Studio için.

Postman ile başlama

1

Koleksiyonu indirin

Yukarıdaki “Postman Collection” linkinden .json dosyasını indirin.
2

Postman'e import edin

Postman → Import → dosyayı sürükle-bırak.
3

Environment'ı seçin

Sağ üstteki dropdown’dan Payven Sandbox veya Payven Production environment’ını seçin.
4

Değişkenleri doldurun

Environment değişkenlerine kimlik bilgilerinizi yazın:
  • client_id: pvk_test_... veya pvk_live_...
  • client_secret: secret değeriniz
  • slug: tenant slug’ınız (örn. payven)
  • identity_base_url: https://identity-sandbox.payven.com.tr veya https://identity.payven.com.tr
  • vpos_base_url: https://vpos-sandbox.payven.com.tr veya https://vpos.payven.com.tr
5

Token alın (otomatik)

Koleksiyonun Pre-request Script’i ilk istekten önce Identity’den access token alır ve {{access_token}} değişkenine yazar; expiry geldiğinde otomatik refresh.
6

Bir isteği gönderin

“Quickstart” klasöründeki Non-3D Payment isteğini açın ve Send edin.
Beta erişim: Postman koleksiyonu yayın hazırlığı sürüyor. Erken erişim için destek ekibimize yazın.

Koleksiyon içeriği

Klasörİçerik
Quickstartİlk Non-3D ödeme, durum sorgusu
PaymentsTüm ödeme akışları
Refundsİade istekleri
WebhooksAbonelik yönetimi + test çağrısı
InquiriesListe, detay, geçmiş
ReconciliationMutabakat akışı
BackofficeKonnektör, konfigürasyon (Bearer auth gerektirir)

.http dosyası ile başlama

VS Code’da REST Client eklentisi yüklüyse:
# Dosyayı açın
code payven-sanalpos.http

# Üst kısımdaki @clientId, @clientSecret, @slug ve @merchantId değişkenlerini doldurun
# İstek bloğunun üstündeki "Send Request" linkine tıklayın

Otomasyon ile değişken aktarma

Postman içinde “Pre-request Script” ve “Tests” bölümleri kullanılarak istekler arası değer paylaşımı yapılır:
// Tests bölümünden — transaction_id'yi sonraki isteğe taşımak
const response = pm.response.json();
if (response.transaction_id) {
  pm.environment.set("last_transaction_id", response.transaction_id);
}
Sonraki istekte {{last_transaction_id}} ile kullanın.
// Pre-request script — token cache + auto-refresh
const expiry = parseInt(pm.environment.get("token_expires_at") || "0", 10);
if (Date.now() >= expiry - 60_000) {
  pm.sendRequest({
    url: pm.environment.get("identity_base_url")
       + "/api/v1/auth/" + pm.environment.get("slug") + "/token",
    method: "POST",
    header: { "Content-Type": "application/json" },
    body: { mode: "raw", raw: JSON.stringify({
      client_id:     pm.environment.get("client_id"),
      client_secret: pm.environment.get("client_secret"),
    })},
  }, (err, res) => {
    const data = res.json();
    pm.environment.set("access_token", data.access_token);
    pm.environment.set("token_expires_at", String(Date.now() + data.expires_in * 1000));
  });
}