Payment Orchestrator
Linkle Ödeme
Ödeme Sayfası

Ödeme Sayfası

Alıcı linki açtığında pay.lunixi.com üzerinde Lunixi'nin barındırdığı ödeme sayfasını görür. Sayfayı siz barındırmazsınız ve bir ön yüz kodu yazmazsınız: sayfanın içeriğini linkin alanları, görünümünü organizasyonunuzun marka ayarları belirler. Ödeme adımı, Checkout Formu entegrasyonundaki aynı Lunixi ödeme formudur.

Adres

https://pay.lunixi.com/7KQ2M9XAPT
  • Kod 10 karakterdir: rakamlar ve I, L, O, U dışındaki büyük harfler.
  • Büyük-küçük harf, tire ve boşluk fark etmez; I ve L harfleri 1, O harfi 0 olarak okunur. Kod telefonda sesli okunduğunda ya da elle yazıldığında karışıklık bu yüzden sonucu değiştirmez: 7kq2-m9xa-pt aynı linki açar.
  • Ödeme sonrasında alıcı https://pay.lunixi.com/<KOD>/sonuc/<deneme-id> sonuç sayfasına döner.

Sayfa durumları

DurumAlıcı ne görürHTTP
ACTIVEÖdeme sayfası200
ACTIVE, startsAt henüz gelmediSayfa ve başlangıç zamanı; ödeme başlatılamaz200
PAUSEDSayfa; ödemeler şu anda alınmıyor200
KullanılamıyorLinkin şu anda kullanılamadığını bildiren markasız sayfa — hesabınız şu anda ödeme alamıyor200
COMPLETED, EXPIRED, DEACTIVATEDLinkin artık geçerli olmadığını bildiren sayfa; organizasyonunuzun adı ve destek iletişim bilgileri410
TAKEN_DOWNLinkin kaldırıldığını bildiren sayfa; organizasyon adı ve marka gösterilmez410
Bilinmeyen kodLinkin bulunamadığını bildiren sayfa404

Açık bir linkte iki durum ayrıca gösterilir: çok kullanımlık linkte kapasite dolduysa tükendi, tek kullanımlık linkte başka bir alıcı o anda ödüyorsa başka bir ödeme sürüyor.

Alıcının adımları

Sayfayı açar

Organizasyonunuzun yasal adı ve markası, link başlığı ve açıklaması, tutar ya da tutar seçenekleri, varsa etkinlik tarihi ve vergi notu (taxNote) görünür.

Tutarı ve bilgileri girer

OPEN linkte tutarı sizin sınırlarınız içinde girer ya da önerilen tutarlardan birini seçer; FIXED linkte adedi, ITEMIZED linkte kalem adetlerini seçer. Ardından sizin istediğiniz alıcı bilgilerini ve özel alanları doldurur, gerekiyorsa yasal metinleri onaylar.

Öde

Düğmeye bastığında önce bir bot kontrolü (Cloudflare Turnstile) çalışır. Lunixi tutarı ve alanları sunucuda doğrular, gerekiyorsa stoğu ayırır ve ödemeyi açar. Link o anda ödeme alamıyorsa (tükendi, başka bir ödeme sürüyor, duraklatıldı) alıcı bunu bu adımda görür.

Ödeme formunda öder

Lunixi ödeme formu açılır: kart, taksit ve form ayarlarınızda açık olan diğer yöntemler. 3D Secure gerekiyorsa alıcı bankasının doğrulama ekranına gider ve oradan sonuç sayfasına döner.

Sonucu görür

Sonuç sayfası ödemenin durumunu Lunixi sunucusundan okur. Başarılı ödemede makbuzu indirebilir; başarısız ödemede link hâlâ ödeme alabiliyorsa yeniden deneyebilir.

Ödeme formu

  • Panelinizdeki form ayarları (ödeme yöntemleri, taksit sekmesi, kimlik ve fraud kontrolleri) link ödemelerinde de geçerlidir. Link bunları yalnız daraltabilir: checkout.paymentMethods gösterilecek yöntemleri form ayarlarınızın alt kümesiyle sınırlar, checkout.requireThreeDs 3D Secure'ü zorunlu kılar.
  • OPEN tutarlı ve MULTI_USE linklerde 3D Secure her zaman zorunludur.
  • Link ödemeleri de diğer ödemeleriniz gibi ödeme anındaki fraud kontrollerinden geçer.
  • Link ödemelerinde SplitPay (çoklu kart) kullanılamaz ve alıcıya kayıtlı kart gösterilmez.
  • Ödeme formu açıldıktan sonra yaklaşık 15 dakika geçerlidir. Süre dolarsa ya da kart reddedilirse alıcı sayfadan yeni bir deneme başlatır; her deneme ayrı kaydedilir (bkz. Ödeme denemeleri).

Marka ve görünüm

Sayfanın görünümü organizasyon düzeyindeki marka ayarlarınızdan gelir. Marka ayarlarını panelde, ödeme formu ayarlarındaki Marka ve Ödeme Sayfası bölümünden düzenlersiniz; API anahtarıyla değiştirilemez.

Organizasyon düzeyindeLink düzeyinde
Logo, kapak görseliBaşlık (title), açıklama (description)
Ana renk, vurgu rengi, tema (açık / koyu / otomatik)Ödeme düğmesi metni (buttonLabelKey)
Görünen ad, destek e-postası ve telefonuYasal metin onayı (requireTermsAcceptance)
Alt bilgi linkleri: mesafeli satış sözleşmesi, iade, gizlilik, KVKK, kullanım koşullarıBaşarı mesajı (successMessage), vergi notu (taxNote)
Varsayılan ödeme düğmesi metni

Kurallar:

  • Logo ve kapak PNG, JPEG ya da WebP olmalıdır; SVG kabul edilmez. Logo en fazla 1 MiB, kapak en fazla 2 MiB, ikisi de en fazla 4096×4096 piksel.
  • Renkler temanın arka planına karşı en az 3:1 kontrast sağlamalıdır; sağlamayan renk kaydedilmez. Düğme metninin rengi (siyah ya da beyaz) seçtiğiniz renge göre otomatik belirlenir.
  • Sayfanın başında, paylaşım önizlemesinde ve Lunixi'nin gönderdiği e-posta ve SMS'lerde birincil kimlik organizasyonunuzun yasal adıdır; görünen adınız ikincil olarak gösterilir.
  • Panelde değişikliği kaydetmeden önce sayfanın önizlemesini görürsünüz; önizlemede ödeme yapılamaz.

Paylaşım önizlemesi

Link WhatsApp, iMessage, Telegram gibi uygulamalarda paylaşıldığında önizleme kartında organizasyonunuzun yasal adı, logonuz ve link başlığı görünür. Tutar ve alıcı bilgisi önizlemede hiçbir zaman yer almaz.

Test ortamı damgası

TEST ortamındaki linkte sayfanın üstünde sabit "TEST — ödeme alınmaz" şeridi görünür; aynı ifade sayfa başlığına ve paylaşım önizlemesine de eklenir. TEST sayfasında "Lunixi ile güvenli ödeme" ifadesi gösterilmez.

Bu linki bildir

Her sayfada alıcının şüpheli bir linki Lunixi'ye bildirebileceği "Bu linki bildir" bağlantısı bulunur. Bildirim linkin durumunu kendiliğinden değiştirmez; Lunixi inceler ve gerekirse linki yayından kaldırır (TAKEN_DOWN).

Alıcıdan toplanan bilgiler

  • Standart alanlar — buyerFields ile her biri için gizli, isteğe bağlı ya da zorunlu seçersiniz: ad-soyad, e-posta, telefon, fatura adresi, TC kimlik numarası. Varsayılan: ad-soyad ve e-posta zorunlu, telefon isteğe bağlı, adres ve TC kimlik numarası gizli.
  • Özel alanlar — en fazla 20 alan: metin, sayı, e-posta, telefon, tarih, seçim listesi, onay kutusu, TCKN, VKN. TCKN ve VKN algoritmik olarak doğrulanır.
  • Yasal onay — requireTermsAcceptance: true ise alıcı, alt bilgi linklerinizdeki yasal metinleri onaylamadan ödeyemez.
  • Önceden doldurulan bilgiler — prefill ile verdiğiniz bilgiler ödeme kaydına sunucuda yazılır ve önceliklidir; alıcının girdiği değerler yalnız boş kalan alanları doldurur.

Alıcının girdiği bilgiler şifreli saklanır; size ödeme denemeleri ve panel üzerinden açık döner. Ödeme sayfasına giden veride reference, tags, metadata, merchantNotifyEmails, atıf alanları ve prefill bulunmaz.

Kişiye özel linkler ve erişim doğrulaması

recipient dolu bir linkte sayfa alıcının adını ve iletişim bilgisini yalnız maskeli gösterir (A*** Y***, a***@example.com). prefill ile verdiğiniz bilgiler tarayıcıya gönderilmez.

Alıcının bu bilgileri formda görmesini istiyorsanız linke erişim doğrulaması ekleyin: "verification": { "required": true, "channel": "EMAIL" } (recipient.email zorunludur).

Alıcı kod ister

Sayfada kodu ister; 6 haneli kod yalnız linkte kayıtlı recipient.email adresine gönderilir. Alıcı başka bir adres belirtemez; sayfada hedef adres maskeli görünür.

Kodu girer

Kod en fazla 10 dakika geçerlidir ve tek kullanımlıktır. Doğru kodla bu tarayıcı oturumu bu link için doğrulanır; alıcı önceden doldurduğunuz bilgileri formda görür (TC kimlik numarası hariç) ve ödemeye geçer.

  • Doğrulama zorunlu linkte, doğrulama tamamlanmadan ödeme başlatılamaz.
  • Link başına en fazla 5 kod gönderilir; iki gönderim arasında 60 saniye beklenir.
  • Toplam 5 hatalı kod girilirse (yeni kod istemek bu sayacı sıfırlamaz) ya da 5 kodluk gönderim hakkı tükenirse doğrulama kilitlenir ve linkte verificationLocked: true görünür. Kilidi linki POST /:id/send ile yeniden göndererek açarsınız; gönderim iki sayacı da sıfırlar.
  • Bu sürümde yalnız e-posta kanalı desteklenir. TEST ortamında kod yalnız organizasyonunuzun doğrulanmış üyelerinin e-posta adreslerine gider.

Sonuç sayfası ve makbuz

  • Sonuç sayfası ödemenin durumunu (bekliyor, başarılı, başarısız, süresi doldu) Lunixi sunucusundan okur ve düzenli aralıklarla kendini günceller. Yalnız ödemeyi başlatan tarayıcıda açılır; adresi bilmek tek başına sonucu göstermez.
  • Başarılı ödemede successMessage metniniz gösterilir; successRedirectUrl tanımladıysanız alıcı bu adrese yönlendirilir.
  • Alıcı makbuzu PDF olarak indirebilir. Makbuz numarası tek kullanımlık linkte PL-<YYYYMMDD>-<KOD>, çok kullanımlık linkte PL-<YYYYMMDD>-<KOD>-<sıra> biçimindedir (tarih İstanbul saatine göre). Makbuz e-postasındaki indirme bağlantısı 30 gün geçerlidir. Bu makbuz bir e-fatura değildir.
  • Ödeme alındığında merchantNotifyEmails adreslerine bildirim e-postası gönderilir; TEST ortamında yalnız organizasyonunuzun doğrulanmış üyelerine.
⚠️

Sonuç sayfası ve yönlendirme ödeme kanıtı değildir. Alıcı sekmeyi kapatabilir ya da yönlendirme hiç gerçekleşmeyebilir. Siparişi successRedirectUrl adresinize gelen ziyarete göre değil, payment.captured webhook'una göre kapatın — bkz. Webhook'lar.

Alıcı akışının uçları

Bu uçları sizin çağırmanız gerekmez; ödeme sayfası çağırır. Kimlik bilgisi taşımazlar; tarayıcılar bu uçlara çerezli çağrıyı (CORS) yalnız pay.lunixi.com kaynağından yapabilir, ödeme başlatma, kod isteme ve bildirim bot kontrolü (Turnstile) gerektirir. Deneme, alıcının tarayıcısındaki kısa ömürlü (2 saat), yalnız sunucunun okuyabildiği bir oturum çerezine bağlanır.

YöntemYolNe yapar
GET/api/public/v1/pay/:codeSayfa görünümü — 200, 404 ya da 410
POST/api/public/v1/pay/:code/attemptsÖdeme denemesi başlatır ve ödeme formunu açar
GET/api/public/v1/pay/attempts/:attemptId/statusDeneme durumu (yalnız denemeyi başlatan tarayıcı)
GET/api/public/v1/pay/attempts/:attemptId/receiptMakbuz PDF'i
POST/api/public/v1/pay/:code/verificationErişim doğrulama kodu ister
POST/api/public/v1/pay/:code/verification/confirmKodu doğrular
POST/api/public/v1/pay/:code/report"Bu linki bildir"
GET / POST/api/public/v1/pay/return/:code/:attemptIdBankadan dönüşü sonuç sayfasına yönlendirir (303); ödemenin durumunu değiştirmez

Sonraki adımlar

  • Link Oluşturma — buyerFields, customFields, recipient, prefill, verification alanları
  • Webhook'lar — siparişi payment.captured ile kapatma
  • Checkout Formu — ödeme adımındaki formun kendisi