Payment Orchestrator
Pazaryeri
İade & İptal

İade & İptal

Split ödemeler çekirdek payment endpoint'leriyle iade edilir ve iptal edilir — ayrı bir pazaryeri iade API'si yoktur. Ödeme id'si üzerinde POST /payments/{id}/refund (tam veya kısmi) ya da POST /payments/{id}/void çağırırsınız; İadeler ve Ön Provizyon, Capture & İptal sayfalarında anlatıldığı gibi. Bu sayfa, bunun satıcı bacakları taşıyan bir ödeme için ne anlama geldiğini anlatır.

⚠️

Tutarlar minor birimdir (kuruş): "amount": 5000 = ₺50,00.

Nasıl çalışır

Doğru operasyonu seçin

Void, henüz capture edilmemiş bir authorization'ı serbest bırakır (kısmi yok). Refund, capture/settle edilmiş bir ödemede parayı geri döndürür — tam veya kısmi, birden çok çağrıda kümülatif.

Çekirdek endpoint'i çağırın

İkisi de Step-Up endpoint'idir ve ödemenin kullandığı orijinal sağlayıcı ve credential üzerinden kapanır — asla yeniden yönlendirilmez.

Satıcı tarafını mutabık kılın

İade işlem seviyesinde işlenir; satıcı kırılımı işlem kaydında izlenmeye devam eder. Bir sonraki payout'tan önce satıcıya dönük kendi düzeltmelerinizi bu kırılımla yürütün.

İstek

# Split ödemede ₺50,00 kısmi iade
curl -X POST https://api-gateway.lunixi.com/api/v1/payments/pay_01HV3K9X7QWE.../refund \
  -H "Authorization: Bearer <access-token>" \
  -H "X-Key-Id: <key-id>" \
  -H "X-Date: <iso-timestamp>" \
  -H "X-Nonce: <nonce>" \
  -H "X-Signature: <ed25519-signature>" \
  -H "Idempotency-Key: 9d2f4c81-6a3e-4b7d-8c5f-0e1a2b3c4d5e" \
  -H "Content-Type: application/json" \
  -d '{ "amount": 5000, "reason": "alıcı bir ürünü iade etti" }'
 
# Capture edilmemiş authorization'ı void'leme
curl -X POST https://api-gateway.lunixi.com/api/v1/payments/pay_01HV3K9X7QWE.../void \
  -H "Authorization: Bearer <access-token>" \
  -H "X-Key-Id: <key-id>" \
  -H "X-Date: <iso-timestamp>" \
  -H "X-Nonce: <nonce>" \
  -H "X-Signature: <ed25519-signature>" \
  -H "Idempotency-Key: 1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"

Tam iade için amount alanını atlayın. Ödemenin durumu REFUNDED, PARTIALLY_REFUNDED veya VOIDED olur — durum modelinin tamamı ve kümülatif-kısmi kurallar çekirdek İadeler rehberindedir.

Satıcı bacaklarına ne olur

  • İade veya void ödemenin bütünü üzerinde yürür — tahsilat kaç satıcıya bölünmüş olursa olsun, alıcının parası tek operasyonda geri döner.
  • Ödemenin durumu REFUNDED, PARTIALLY_REFUNDED veya VOIDED olduğunda, o işlemin tüm satıcı bacakları GET /marketplace/transactions yanıtında legStatus: "REVERSED" okunur — bacak durumu işlemi izler, satıcı başına oranlanmaz.
  • İşlem kaydı satıcı kırılımını korur (bacak başına net, komisyon, hold); iade edilen bir ödemenin hangi satıcılara bölünmüş olduğunu her zaman görebilirsiniz. Lunixi'nin iç settlement muhasebesi, iadeyi satıcı bacaklarına her bacağın tahsilattaki payı oranında ters kayıtla dağıtır.
  • Kısmi iadenin tek tek satıcılara nasıl paylaştırılacağı sizin tarafınızda bir iş kararıdır (iade edilen ürün hangi satıcınındı?). Kayıtlı kırılımı kullanarak düzeltmeyi hesaplayın ve satıcının payout'una yansıtın — örneğin payout defterine manuel bir kayıtla.

Pratik kural: önce alıcıya iadeyi yapın (çekirdek endpoint), sonra bir sonraki payout turundan önce etkilenen satıcının bakiyesini mutabık kılın. Audit log iki tarafı da kaydeder.

Hatalar

DurumAnlamıNe yapmalı
400Tutar iade edilebilir bakiyeyi aşıyor veya capture sonrası void denendiÖdemenin güncel durumunu ve capture/iade tutarlarını kontrol edin
401 / 403Step-Up auth başarısızYeniden imzalayın — bkz. Authentication
404Ödeme bulunamadıÖdeme id'sini doğrulayın

Webhooks

  • payment.refunded / payment.partially_refunded — başarılı iade sonrası
  • payment.voided — başarılı void sonrası

Payload şekli ve teslimat semantiği için webhook referansına bakın.

Sonraki adımlar