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
Ortalanmış katman popup’ı, varsayılan ~560×780. Mağaza yerinde kalır.
onSuccess, ödeme sonrası popup kapanınca tetiklenir. Varsayılan mod.
Checkout’a sert navigasyon. Popup engelleyen tarayıcılar veya mobil
web için en iyisi, katmanların rahatsız edici hissettiği yerlerde.
Alıcı oturumdaki success_url / cancel_url’nizden geri döner.
Sayfanız içinde iframe. Düzeni uçtan uca kontrol ettiğinizde ve sıfır bağlam değişikliği istediğinizde en iyisi. postMessage üzerinden otomatik yeniden boyutlanır.
GömmeMod-seçme sezgisi
| Eğer… | Kullanın |
|---|---|
| Masaüstü web, varsayılan e-ticaret | Popup |
| Mobil web | Yönlendirme (popuplar mobilde sık sık engellenir) |
| Sıkı CSP-kilitli admin paneli | Yönlendirme |
| Uygulama içi webview / native checkout-in-a-page | Gömme |
| White-label başlıkla tamamen özel bir alıcı akışı istiyorsanız | Gömme + hideHeader + kendi cüzdan bağlantınız |
Alıcı ne görür
Moddan bağımsız olarak, sayfa şunları gösterir:
- Sipariş özeti (line item’lar, toplam, para birimi). Kendi
tarafınızda zaten gösterdiyseniz
hideSummaryile gizleyin. - Varlık seçici — satıcı ayarlarında etkinleştirdiğiniz zincir × varlık kombinasyonlarının listesi. Alıcı birini seçer.
- 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. TRON, Solana ve TON’da alıcı doğrudan sizin cüzdanınıza öder; bkz. Doğrudan cüzdana ödeme yapan ağlar.
- Durum nabzı — “Transfer bekleniyor”, “Tx tespit edildi (3/12 onay)”, “Ödendi”.
- İptal butonu (her zaman mevcut) →
onCancel’ı tetikler.
Sayfayı özelleştirme
| Kontrol | Nasıl | Sınırlar |
|---|---|---|
| Sipariş özetini gizle | SDK üzerinde hideSummary: true | Alıcı toplamı yine depozito panelinde görür |
| InfraIO Pay başlığını gizle | SDK üzerinde hideHeader: true | Tam white-label için walletAddress ile eşleştirin |
| Bir cüzdanı önceden bağla | walletAddress + walletChainId + onSignRequest | WalletConnect modalını atlar |
| Yerel ayar (locale) | SDK üzerinde locale — en, vi, ja, ko, es, pt-BR, ru, tr, zh-CN, zh-TW’den biri | Checkout ve iade sayfalarını (ve cüzdan bağlama modalını) yerelleştirir. Bilinmeyen veya belirtilmemişse → en’e döner |
| Logo, marka rengi | Satıcı panel → Branding | Oturum 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|canceleklenmiş 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’e bir HTML sandbox özelliği eklemeyin, çünkü cüzdan
bağlantısını bozar. iframe, cross-origin sınırıyla ve frame-src
CSP’nizle izole edilir.
Mobil hususları
Mobil tarayıcılar, özellikle Safari, popup’ları sık sık engeller.
Trafiğinizin çoğu mobilse mode: "redirect" kullanın. Küçük ekranlarda
popup katmanı klavye alanını da kaplar, bu da varlık seçimini zorlaştırır.
White-label branding
Tam white-label şunları gerektirir:
- SDK üzerinde
hideHeader: true - Önceden bağlı
walletAddress(alıcı WalletConnect görmez) - Satıcı panel branding’inde logonuz + marka renginiz ayarlı
- (Opsiyonel) Checkout sayfası için özel alan adı —
checkout.infraio.xyzyerinepay.your-shop.com. CNAME’iniz doğrulandıktan sonra bunu panelden ayarlayın.
Sırada ne var
- SDK → JavaScript — mod başına tam seçenek referansı.
- Kavramlar → Oturumlar — alıcı sayfada iken sunucu tarafında ne oluyor.
- Kavramlar → Zincirler ve varlıklar — seçicide hangi zincir×varlık kombinasyonlarının mevcut olduğu.