Skip to Content
API referansıGenel bakış

API Referansı

Aşağıdaki her uç nokta JSON konuşur, https://api.infraio.xyz (prod) veya https://api-dev.infraio.xyz (test) altında yaşar ve HMAC-SHA256 ile kimlik doğrulanır — imzalama ritüeli için Kimlik doğrulama ve hata zarf şekli için Hatalar sayfasına bakın.

Bu sayfa indekstir. Her satır mevcut en derin yazıma bağlanır; bir satır yalnızca bir yola referans veriyorsa, uç nokta bugün mevcuttur ama kendi referans sayfası yerine ilgili kavram sayfasında satır içi olarak belgelenmiştir.

Geçit yol önekleri ve auth modelleri:

  • /b2b/v1/*secret anahtarınızla (sk_…) HMAC-imzalı. Satıcı backend yüzeyi.
  • /payment/v1/* — Bearer JWT (panel oturumları). Satıcı paneli frontend’i tarafından kullanılır; üçüncü taraf entegratörler için değil.
  • /pub/v1/* — yolda bearer-kanıtı (iade istekleri için rfqt_… token’ı). Kimlik bilgisi yok. Tarayıcıdan çağırmak güvenlidir.
  • /checkout/:key/* — Barındırılan checkout akışı için public önek. key, oluşturma zamanında döndürülen cst_… oturum anahtarıdır; alıcının tarayıcısı tek çağırandır. Kimlik bilgisi yok.

Checkout

MethodPathAmaçNotlar
POST/b2b/v1/checkout-sessions/quickTek çağrıda bir oturum oluştur — order + checkout-session birlikte üretilir.İstek gövdesi ve örnek için bkz. Hızlı başlangıç.
POST/b2b/v1/checkout-sessionsMevcut bir siparişe karşı oturum oluştur. Platformunuzun zaten kendi sipariş modeli olduğunda ve deneme başına bir oturum istediğinizde kullanın.İki adımlı akış.
GET/b2b/v1/checkout-sessions/by-order/{order_id}Bir sipariş için üretilmiş tüm oturumları listele.Bir alıcı bir oturumu terk ettiğinde ve önceki denemeleri panelinizde göstermek istediğinizde kullanışlı.
GET/checkout/{session_key}Public — barındırılan checkout sayfası bunu çağırır. Yalnızca alıcıya yönelik alanlar (dahili referans yok).İmzalama yok; session_key’i bearer-kanıtı olarak alır.
POST/checkout/{session_key}/intentPublic — barındırılan sayfada bir ödeme yöntemi seç. Depozito adresi ile bir PaymentIntent yayar.Kullanıcı yöntem seçiminde checkout-web tarafından çağrılır.
POST/checkout/{session_key}/verifyPublic — alıcının onay beklemesini kısa devre yapması için bir tx hash yapıştırmasına izin ver.Hash yanlışsa zincir izleyiciye düşer.

Siparişler

Siparişler zamansız faturalanabilir varlıktır. Tek bir sipariş birden fazla checkout oturumunu destekleyebilir (örn. alıcı terk eder, yeniden dener).

MethodPathAmaçNotlar
POST/b2b/v1/ordersOturumsuz bir sipariş oluştur.Alıcıyı hemen yönlendirmek yerine daha sonra bir ödeme bağlantısı göndermek istediğinizde kullanın.
GET/b2b/v1/orders/{id}Line item’lar + durum ile tek bir siparişi oku.Durum: PENDINGPAID | PARTIAL_PAID | CANCELED. İade sonrası: PARTIALLY_REFUNDED | REFUNDED.
GET/b2b/v1/orders/by-merchant/{merchant_id}Siparişlerinizi listele, cursor-pagination ile.Cursor protokolü için bkz. Cursor pagination.
PATCH/b2b/v1/orders/{id}/cancelÖdenmemiş bir siparişi iptal edildi olarak işaretle. order.canceled yayar.Sipariş zaten ödenmişse başarısız olur.
PATCH/b2b/v1/orders/{id}/reopenBir otomatik-iptali tersine çevir (canceled_reason=payment_timeout).TTL süresi dolduktan sonra alıcı geri gelirse kullanışlı.

İadeler

Saga akışı ve token yaşam döngüsü için İadeler kavram sayfasına bakın.

Satıcı tarafından başlatılan

MethodPathAmaçNotlar
POST/b2b/v1/merchants/{merchant_id}/refundsSatıcı tarafından başlatılan iade. Otomatik onaylanır (PENDING atlanır).Hemen payment.refund.approved yayar.

Müşteri tarafından başlatılan — iade-talep token’ları

Alıcı iade formunu bizim barındırılan sayfamızda doldurur; siz yalnızca token’ı üretir ve URL’yi iletirsiniz. İki üretim yolu (backend’ler için HMAC, panel için JWT), üç public token yolu (bağlam oku, gönder, yenileme talep et) ve yenilemeleri yönetmek için iki yalnızca-panel yolu.

MethodPathAuthAmaç
POST/b2b/v1/merchants/{merchant_id}/refund-requestsHMAC (sk_…)Backend’inizden bir token üret. Gövde: {ref_type, ref_value, amount, ttl_seconds?, metadata?, hide_summary?, hide_header?}. ref_type order_id / order_number / session_id / session_key’den biridir; ref_value eşleşen tanımlayıcıdır. amount gereklidir ve alıcının gönderebileceği maksimumu kilitler. Varsayılan TTL 30 dk. refund_request.created yayar (source: b2b).
POST/payment/v1/merchants/{merchant_id}/refund-requestsJWT (panel)Satıcı panelinin Issue Refund modal’ından bir token üret. B2B varyantı ile aynı gövde şekli. Varsayılan TTL 24 s. refund_request.created yayar (source: dashboard).
GET/pub/v1/refund-requests/{token}Yolda tokenPublic — checkout-web form bağlamını okur (sipariş özeti, kilitli tutar, mevcut etkili durum).
POST/pub/v1/refund-requests/{token}/submitYolda tokenPublic — alıcı formu gönderir. Gövde: {reason, refund_to_address, amount?, metadata?}. amount opsiyoneldir — atlandığında satıcı tarafından kilitlenmiş bağlantı tutarı kullanılır; mevcut olduğunda sunucu amount ≤ kilitli tutar zorunluluğunu uygular. Refund satırını oluşturur, payment.refund.requested yayar, makbuz sayfası için {link_token, refund_id} döndürür.
POST/pub/v1/refund-requests/{token}/request-renewalYolda tokenPublic — alıcı, son kullanma sonrasında yeni bir bağlantı talep eder. Gövde: {customer_note?}. refund_request.renewal_requested yayar.
GET/payment/v1/merchants/{merchant_id}/refund-requests/renewalsJWT (panel)Satıcının yenileme widget’ı için bekleyen RENEWAL_REQUESTED token’larını listele. Cursor-paginated.
POST/payment/v1/merchants/{merchant_id}/refund-requests/renewals/{token}/issue-newJWT (panel)Bir yenilemeyi onayla — yeni bir ACTIVE token üretir, eskisini devre dışı bırakır. refund_request.renewed + refund_request.created yayar (source: renewal).
GET/payment/v1/merchants/{merchant_id}/refund-requests/by-order/{order_id}JWT (panel)Bir siparişe karşı üretilmiş tüm iade-talep token’larını etkili durumu ile listele. En yeni önce.
POST/payment/v1/merchants/{merchant_id}/refund-requests/{token}/send-emailJWT (panel)İade-talep bağlantısının e-posta gönderimini müşteriye kuyruğa al. Gövde: {to}. refund_request.email_send_requested yayar.
POST/payment/v1/merchants/{merchant_id}/refund-requests/{token}/cancelJWT (panel)Satıcı acil-durdurma anahtarı — ACTIVE veya RENEWAL_REQUESTEDCANCELED’a geçirir. Gövde: {reason?}. Idempotent: durum zaten geçtikten sonraki ikinci çağrı, yeniden yaymadan başarı döndürür. İlk geçişte refund_request.canceled yayar.

İade yaşam döngüsü (oluşturma-sonrası)

Her iki akış için de geçerlidir. Aşağıdaki uç noktalar, talep token’ı üzerinde değil, Refund satırı üzerinde işlem yapar (id rfn_… ile başlar).

MethodPathAmaçNotlar
GET/b2b/v1/refunds/{id}Bir iadeyi oku.Durum: PENDINGAPPROVEDEXECUTED | REJECTED.
GET/b2b/v1/refunds/by-merchant/{merchant_id}İadelerinizi listele, cursor-paginated.
POST/b2b/v1/refunds/{id}/approvePENDING bir iadeyi onayla (yalnızca müşteri tarafından başlatılan — satıcı tarafından başlatılan zaten APPROVED ile gelir).Kripto: APPROVED’a iner, sonrasında /submit-tx çağırırsınız.
POST/b2b/v1/refunds/{id}/rejectPENDING bir iadeyi reddet.payment.refund.rejected yayar.
POST/b2b/v1/refunds/{id}/submit-txYalnızca kripto — yaydığınız zincir üstü tx hash’i damgala.Gövde: {tx_hash, network, token_address} — üçü de gereklidir.

Katalog (yalnızca-okuma)

MethodPathAmaç
GET/v1/supported/networksInfraIO’nun tahsilat yapabileceği tüm zincirler (mainnet + testnet, env tarafından filtrelenmiş).
GET/v1/supported/tokensBu zincirler üzerindeki tüm stablecoinler.
GET/v1/supported/currenciesorder.currency için kabul edilen fiat para birimleri.
GET/v1/merchants/payment-methodsBU satıcının etkinleştirdiği yöntemler — platform kataloğu + satıcı başına geçiş anahtarlarının birleşimi. checkout-web tarafından kullanılır.
GET/v1/public/merchants/{merchant_id}/brandingPublic — checkout sayfasının kendini biçimlendirmek için okuduğu şey.

Sağlık

MethodPathAuthAmaç
GET/healthYok (public)Düz canlılık probe — {"status":"ok"} döndürür. Bu (/v1 öneki olmadan) tek doğrulanmamış sağlık uç noktasıdır — k8s / uptime monitörlerinizi buraya yönlendirin.
GET/payment/v1/merchants/{merchant_id}/healthPanel JWT’siSatıcı başına sağlık görünümü — son intent tahsilat oranı, sweep birikim. Kendi durum sayfalarınız için kullanışlı. Bir B2B API anahtarı değil, bir panel oturum token’ı gerektirir. Yalnızca /payment/ geçit öneki altında erişilebilir — çıplak /v1/... yolu public olarak yönlendirilmez.
GET/payment/v1/stats/healthPanel JWT’siBir satıcının çalışma alanı ağacı genelinde toplu sağlık. Public bir canlılık probe değildir/payment/ geçit öneki altında, geri kalanla aynı JWT auth’ın arkasında oturur.

Cursor pagination

Her liste uç noktası aynı query parametrelerini kabul eder, aynı zarfı döndürür. Bir satır kaydırma ortasında düştüğünde bir sayfanın asla kaymaması için offset yerine opak cursorlar (base64url-encoded (created_at, id)) kullanırız.

Query paramTipVarsayılanNotlar
cursorstringOpak — önceki yanıtın next_cursor’ını kelimesi kelimesine kopyalayın.
limitint201..100.
sort_dir'asc' | 'desc'desc(created_at, id) ile sırala.
from / toRFC3339Opsiyonel zaman penceresi filtresi.
searchstringDesteklenen yerlerde serbest metin filtresi.

Yanıt zarfı:

{ "orders": [ /* sayfa satırları */ ], "next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNS0...", "has_next": true }

has_next her zaman mevcuttur. has_next false olduğunda next_cursor atlanır. Cursor’ı parse etmeye çalışmayın — şekli dahilidir ve değişecektir.

Bu sayfada eksik olan

Bu indeks, satıcıya yönelik yüzeyi kapsar — /admin/* altındaki uç noktalar (panel araçları, KYB incelemesi, ağ yönetimi) ve dahili gRPC rotaları kasıtlı olarak listelenmemiştir. swag tarafından oluşturulan OpenAPI spec tüm yüzeyi kapsar; ihtiyacınız varsa, desteğe ulaşın ve güncel bir snapshot paylaşalım.