Açık katalog
GET /api/v1/catalog, seçilmiş hizmet ve ülke kataloğunu döndürür. Bu açıklayıcı veridir; canlı sağlayıcı stok akışı değildir. GET /openapi.json mevcut HTTP uç noktalarını açıklar. Sağlayıcı kimlik bilgileri tarayıcıya hiçbir zaman gönderilmez.
Kullanıcıya bağlı teklifler
POST /api/v1/quotes, giriş yapılmış ve aynı origin'den gelen bir oturumdan hizmet ve ülke kabul eder. Teklifler o kullanıcıya aittir ve 60 saniye sonra sona erer. USD tutarları doğrulanmış kaynak para birimi dönüşümü, maliyet üzerine ekleme ve satış fiyatı tabanı kullanılarak sunucuda hesaplanır.
Tekrarda aynı sonucu veren siparişler
POST /api/v1/orders, quoteId ve Idempotency-Key kabul eder. Aynı anahtarla yeniden deneme, başka bir numara almak yerine aynı siparişi döndürür. Cüzdan rezervasyonu atomik olarak kaydedilir. Belirsiz sağlayıcı yanıtı siparişi incelemede tutar; otomatik ikinci satın almayı başlatmaz.
Durum ve tamamlama
GET /api/v1/orders/{id}, kullanıcıya ait siparişi ve SMS durumunu okur. Aynı uç noktaya finish veya cancel eylemiyle POST göndermek durum değişimi talep eder. Sunucu ilk 120 saniyelik iptal engelini uygular ve sağlayıcı iptali onayladıktan sonra iadeyi bir kez kaydeder.
Ödeme onayı
Stripe Checkout, yalnızca doğrulanmış webhook ve kimlik doğrulamalı ödeme kontrolünden sonra ilgili canlı veya test cüzdanına bakiye ekler. Verilen canlı ve test anahtarları farklı Stripe hesaplarına aittir; bu nedenle anahtarları, uç nokta sırları ve yüklemeleri ayrı tutulur. NOWPayments doğrulanmış IPN, fatura eşleştirmesi ve ±%0.50 tutar toleransıyla kesinleşmiş ödeme kontrolü kullanır. Tarayıcıdaki başarılı yönlendirme hiçbir zaman ödeme kanıtı değildir.
Erişim ve kullanılabilirlik
Ana site ve katalog herkese açıktır. Cüzdan, teklifler ve siparişler giriş ve sahiplik kontrolü gerektirir. Canlı işlemler yapılandırılmış kimlik bilgilerine, sağlayıcı erişimine ve doğrulanmış onaylara bağlıdır; API örnekleri ücretli satın alımın veya tam ödeme döngüsünün önceden doğrulandığını iddia etmez.
GET /api/v1/catalog
GET /api/v1/offers?service=whatsapp&country=usa
POST /api/v1/quotes
Content-Type: application/json
{"service":"whatsapp","country":"usa"}
POST /api/v1/orders
Idempotency-Key: <unique-request-key>
{"quoteId":"<owned-unexpired-quote-id>"}
GET /api/v1/orders/<order-id>
POST /api/v1/orders/<order-id>
{"action":"cancel"}Panele dön