Skip to Content
CheckoutGenel bakış

Checkout — Genel bakış

Barındırılan checkout, alıcının fiilen fon gönderdiği sayfadır. Varlık seçicisini, depozito adresini veya QR’ı kendiniz render etmezsiniz — SDK sayfamızı (https://checkout.infraio.xyz/<session_key> üzerinde) açar ve arayüzü biz hallederiz.

Üç mod

Mod-seçme sezgisi

Eğer…Kullanın
Masaüstü web, varsayılan e-ticaretPopup
Mobil webYönlendirme (popuplar + mobil = üzücü)
Sıkı CSP-kilitli admin paneliYönlendirme
Uygulama içi webview / native checkout-in-a-pageGömme
White-label başlıkla tamamen özel bir alıcı akışı istiyorsanızGömme + hideHeader + kendi cüzdan bağlantınız

Alıcı ne görür

Moddan bağımsız olarak, sayfa şunları gösterir:

  1. Sipariş özeti (line item’lar, toplam, para birimi). Kendi tarafınızda zaten gösterdiyseniz hideSummary ile gizleyin.
  2. Varlık seçici — satıcı ayarlarında etkinleştirdiğiniz zincir × varlık kombinasyonlarının listesi. Alıcı birini seçer.
  3. Seçilen kombinasyon için depozito adresi + QR + tutar. Alıcı ya tarar, ya bir cüzdan bağlar (WalletConnect butonu), ya da SDK aracılığıyla sağladığınız önceden bağlı bir cüzdandan öder.
  4. Durum nabzı — “Transfer bekleniyor”, “Tx tespit edildi (3/12 onay)”, “Ödendi”.
  5. İptal butonu (her zaman mevcut) → onCancel’ı tetikler.

Sayfayı özelleştirme

KontrolNasılSınırlar
Sipariş özetini gizleSDK üzerinde hideSummary: trueAlıcı toplamı yine depozito panelinde görür
InfraIO başlığını gizleSDK üzerinde hideHeader: trueTam white-label için walletAddress ile eşleştirin
Bir cüzdanı önceden bağlawalletAddress + walletChainId + onSignRequestWalletConnect modalını atlar
Yerel ayar (locale)SDK üzerinde localeen, vi, ja, ko, es, pt-BR, ru, tr, zh-CN, zh-TW’den biriCheckout ve iade sayfalarını (ve cüzdan bağlama modalını) yerelleştirir. Bilinmeyen veya belirtilmemişse → en’e döner
Logo, marka rengiSatıcı panel → BrandingOturum başına değil, global olarak uygulanır

Dönüş URL davranışı

Yönlendirme modu için alıcı her zaman şunlardan birine döner:

  • Oturumdan success_url (tahsil edilen ödemede)
  • Oturumdan cancel_url (iptal/terk durumunda)
  • Bunları ayarlamadıysanız, SDK checkout’u açan sayfaya geri döner, ?session_id=…&status=success|cancel eklenmiş olarak

Popup ve gömme modları için navigasyon yoktur — kontrol onSuccess / onCancel aracılığıyla sayfanıza geri döner. Bunları, sıradaki UI’ın ne olacağına karar vermek için kullanın.

CSP ve gömme

Gömme modu kullanırsanız, CSP’niz frame-src içinde origin’imize izin vermelidir:

Content-Security-Policy: frame-src https://checkout.infraio.xyz https://checkout-dev.infraio.xyz;

iframe allow="payment; clipboard-write" izin politikasını taşır — Payment Request API’sini çağırabilir ve panoya yazabilir, daha fazlası değil. iframe HTML-sandbox değildir: checkout sayfası, postMessage güvenliği (her iki tarafta origin kontrolleri) ve üçüncü taraf cüzdan SDK’ları (WalletConnect, Coinbase, MetaMask) gerçek bir same-origin scripting bağlamı gerektiren tam bir cüzdan-bağlayan uygulamadır, bu yüzden bir HTML sandbox özelliği, ihmal edilebilir bir izolasyon kazancı için cüzdan bağlantısını bozar. İzolasyon bunun yerine cross-origin sınırından, katı postMessage origin kontrollerinden ve frame-src CSP’nizden gelir.

Mobil hususları

Popup’lar mobil Safari’de agresif şekilde engellenir. Trafiğiniz çoğunlukla mobilse, varsayılan olarak mode: "redirect" kullanın. Popup katmanı küçük ekranlarda klavye alanını da kaplar — tutar girişi için iyidir, varlık seçimi için garip.

Branding (white-label kalabalığı için)

Tam white-label şunları gerektirir:

  1. SDK üzerinde hideHeader: true
  2. Önceden bağlı walletAddress (alıcı WalletConnect görmez)
  3. Satıcı panel branding’inde logonuz + marka renginiz ayarlı
  4. (Opsiyonel) Checkout sayfası için özel alan adı — checkout.infraio.xyz yerine pay.your-shop.com. CNAME’iniz doğrulandıktan sonra panel üzerinden self-servis.

Sırada ne var