Sigorta
API Yolu
Prim ve Ödeme

Prim ve Ödeme

Bu sayfa primi sizin tahsil ettiğiniz (premiumCollectedBy: MERCHANT) siparişler içindir. Prim ya Lunixi ödemenizin bir kalemidir ya da Lunixi dışında aldığınız bir ödemedir. Poliçe, prim tahsil edildikten sonra kesilir.

Primi sağlayıcınız tahsil ediyorsa (premiumCollectedBy: PROVIDER) bu sayfa yerine Sağlayıcı Tahsilatı sayfasını kullanın.

Lunixi ödemesiyleLunixi dışında
Prim neredeÖdemenizin sepetinde ayrı bir kalemSizin kendi ödemeniz
Siparişe nasıl bağlanırbind-payment ya da ödeme tahsil edildiğinde prim kalemiyleconfirm-payment
Poliçe ne zaman istenirÖdeme tahsil edildiğinde, otomatikissue-policy ile
Prim iadesiLunixi ödemenizden, prim tutarı kadarKendi kanalınızdan; iadeyi API'ye bildirirsiniz

Lunixi ödemesiyle

Alıcı ürünü ve sigortayı tek ödemede öder. Prim, ödemenizin sepetinde ayrı bir kalemdir; kalemin kimliği sigorta siparişinin kimliğidir.

Lunixi ödemesine bağlı sigorta akışıSüreç: uygunluğu sorgularsınız, teklif alırsınız, siparişi oluşturursunuz, ödemeyi prim kalemiyle oluşturup siparişi ödemeye bağlarsınız; alıcı ödeyip ödeme tahsil edilince poliçe otomatik istenir ve siparişi izlersiniz.UygunlukPOST …/productsTeklifPOST …/quotesSiparişPOST …/ordersÖdeme + prim kalemiPOST /payments/intentsÖdemeye bağlamaPOST …/{orderId}/bind-paymentAlıcı öderpoliçe otomatik istenirSiparişi izleyinGET …/orders/{orderId}LEJANTSİZİN ÇAĞRINIZTAHSİL — POLİÇE İSTENİRSON
…, /api/v1/insurance yerine geçer. Sepetteki prim kaleminin kimliği sipariş kimliğidir; bu akışta issue-policy çağırmazsınız.

Teklifi kalemlerle alın ve sipariş oluşturun

Teklifi ödemede göndereceğiniz kalemlerle (context.items) alın ve alıcının onayladığı seçenekle sipariş oluşturun: Teklif, Sipariş. Sipariş yanıtındaki orderId ve premiumAmount prim kalemi için gereklidir.

Ödemeyi prim kalemiyle oluşturun

Ödemeyi POST /api/v1/payments/intents ile oluşturun (Checkout Formu). Sepette şunlar bulunur:

  • Sigortaladığınız kalemler, teklifte gönderdiğiniz gibi: aynı id, aynı price ve aynı sigorta alanlarıyla. Teklifte context.items[].insuranceData gönderdiyseniz ödeme isteğinde yeniden göndermeniz gerekmez: teklif bu bilgilerle alınmıştır ve ödemeye bağlarken ön veri karşılaştırılmaz.
  • Diğer kalemleriniz.
  • Prim kalemi (aşağıda).

Siparişi ödemeye bağlayın

Ödeme oluşunca bind-payment ile siparişi ödemeye bağlayın: Ödemeye bağlama. Bağlama, prim kalemini ve sepeti hemen doğrular; bir hata varsa alıcı ödemeden önce düzeltirsiniz.

Alıcı ödemeyi tamamlar

Alıcı ödemeyi her zamanki gibi tamamlar. Ödeme tahsil edildiğinde prim tahsil edilmiş sayılır ve poliçe otomatik olarak istenir.

Poliçeyi izleyin

Siparişin policyStatus ve policies[] alanlarını sipariş ucundan izleyin. Poliçe kesildiğinde belgesini alın: Poliçe Belgesi.

Prim kalemi

AlanDeğer
idSiparişin orderId değeri (inso_…).
priceSiparişin premiumAmount değeri, kuruş.
itemTypeVIRTUAL
nameAlıcının gördüğü ad; örneğin seçeneğin title değeri.
category1Kendi kategoriniz.
  • Prim kalemi sigorta alanı taşımaz. inso_ kimlikli bir kalemde sigorta alanı gönderilirse ödeme isteği 400 VALIDATION_ERROR ile reddedilir.
  • Sepette sipariş başına tek bir prim kalemi bulunur.
  • Sepetteki kalemlerin price toplamı, ödeme isteğinin amount alanına eşit olmalıdır. Bu yüzden ödemenin tutarı, kalemlerinizin tutarı ile primin toplamıdır. Kural: Sepet Kalemleri.

İki biletli bir sepete 39,80 TRY primli sigorta eklenmiş ödeme isteği. Tutarlar örnektir:

{
  "amount": 103980,
  "currency": "TRY",
  "orderId": "order-1001",
  "callbackUrl": "https://example.com/payments/callback",
  "basketItems": [
    {
      "id": "ticket-1",
      "name": "İzmir-Ankara tren bileti",
      "price": 50000,
      "category1": "bilet",
      "itemType": "VIRTUAL",
      "insuranceCategory": "TICKET",
      "insuranceTypes": ["TICKET_CANCELLATION"]
    },
    {
      "id": "ticket-2",
      "name": "İzmir-Ankara tren bileti",
      "price": 50000,
      "category1": "bilet",
      "itemType": "VIRTUAL",
      "insuranceCategory": "TICKET",
      "insuranceTypes": ["TICKET_CANCELLATION"]
    },
    {
      "id": "inso_<32 onaltılık hane>",
      "name": "Bilet iptal sigortası",
      "price": 3980,
      "category1": "sigorta",
      "itemType": "VIRTUAL"
    }
  ]
}

Siparişin ödemeye bağlanması

  • bind-payment ile bağladığınızda kurallar hemen doğrulanır ve hata yanıtta döner. Önerilen yol budur.
  • bind-payment çağırmazsanız sipariş, ödeme tahsil edildiğinde sepetteki prim kalemiyle eşleştirilip ödemeye bağlanır. Eşleşme kuralları tutmazsa sipariş bağlanmaz ve poliçe istenmez; tahsil edilen tutar ödemenizde kalır ve sipariş açık kalır. Bu durumu hata yanıtıyla göremezsiniz; bu yüzden bind-payment kullanın.
  • Seçeneğin süresi dolmadan bağlayın: bind-payment, süresi dolan seçenekte 409 insurance.quote.expired döner.
  • Ödemenin sigorta alanlı kalemleri teklifteki kalemlerden farklıysa (id, tutar ya da sigortalanacak değer) bağlama 409 insurance.quote.stale döner. Yeni teklif alın; siparişi yeni seçenekle oluşturun.

Prim ne zaman tahsil edilmiş sayılır

  • Prim, ödemenin tahsil edilen tutarı prime ulaştığında tahsil edilmiş sayılır: tahsilat COLLECTED olur ve poliçe PENDING olarak istenir.
  • Ön provizyonlu ödemede provizyon yetmez; tahsilat (capture) gerekir. Kısmi tahsilatlarda önce prim kuralı geçerlidir: tahsil edilen toplam tutar prime ulaştığında prim tahsil edilmiş sayılır. Ulaşana kadar tahsilat PENDING kalır.
  • Ödeme tahsil edilmeden iptal edilir, süresi dolar ya da kesin olarak başarısız olursa tahsilat FAILED olur, errorCode insurance.premium.not_captured olur ve poliçe istenmez.
  • Poliçe, ürünün son tarihine kadar kesilmeye çalışılır. Kesin olarak kesilemezse poliçe FAILED_FINAL, iade REQUIRED olur: İptal ve Prim İadesi › İade gerekiyor.

Ödeme kaydınızda prim

  • Prim, satışınızın bir kalemi olarak ödemenizle birlikte size gelir. Primi sağlayıcınıza anlaşmanıza göre siz aktarırsınız; Lunixi primi kendi adına tutmaz.
  • Ödemenizden kendiniz yaptığınız tutar iadesi sigortaya bağlı değildir ve poliçeyi iptal etmez. Poliçeyi iptal etmek ve primi iade etmek için sigorta uçlarını kullanın: İptal ve Prim İadesi.

Lunixi dışında tahsil edilen prim

Primi kendi ödeme kanalınızdan tahsil ettiyseniz ödemeyi Lunixi'ye bildirirsiniz. Lunixi bildirimi bağlantınız üzerinden sağlayıcınıza iletir; ayrıca bir belge ya da kanıt istemez.

Yalnız sigorta akışıSüreç: uygunluğu sorgular, teklif alır ve siparişi oluşturursunuz; primi kendi kanalınızdan tahsil eder, ödemeyi confirm-payment ile bildirirsiniz (Lunixi bildirimi sağlayıcınıza iletir), poliçeyi issue-policy ile ister ve siparişi izlersiniz.UygunlukPOST …/productsTeklifPOST …/quotesSiparişPOST …/ordersPrimi tahsil edinkendi kanalınızÖdemeyi bildirinPOST …/{orderId}/confirm-paymentPoliçeyi isteyinPOST …/{orderId}/issue-policySiparişi izleyinGET …/orders/{orderId}LEJANTSİZİN ÇAĞRINIZLUNIXI DIŞINDASAĞLAYICINIZA İLETİLİRSON
…, /api/v1/insurance yerine geçer. Lunixi ödeme bildiriminizi bağlantınız üzerinden sağlayıcınıza iletir; ardından poliçeyi siz istersiniz.

Sipariş oluşturun

Teklif alın ve alıcının onayladığı seçenekle sipariş oluşturun. Siparişi bir Lunixi ödemesine bağlamayın.

Primi tahsil edin

Siparişin premiumAmount tutarını ve currency para birimini kendi kanalınızdan tahsil edin.

Ödemeyi bildirin

confirm-payment ile ödemenin kimliğini, tutarını, para birimini ve zamanını bildirin: Lunixi dışında alınan primi bildirme. Bildirimi seçeneğin süresi dolmadan yapın. Tahsilat COLLECTED olur.

Poliçeyi isteyin

issue-policy ile poliçeyi isteyin: Poliçe isteme. Poliçe arka planda kesilir; sonucu sipariş ucundan izleyin.

  • Bildirdiğiniz tutar ve para birimi siparişin primiyle aynı olmalıdır.
  • Bu akışta iade, ters ibraz ve itirazlar sizinle sağlayıcınız arasındadır. Primi iade ettiğinizde iadeyi API'ye bildirirsiniz: İptal ve Prim İadesi › Lunixi dışında iade.

İlgili