WooCommerce API · Sipariş

WooCommerce iade ve iptal API: /orders/ID/refunds, api_refund ve api_restock

WooCommerce’te iade POST /wp-json/wc/v3/orders/ID/refunds isteğiyle oluşturulur. amount, reason ve line_items gönderilir; api_refund parayı ödeme altyapısı üzerinden iade eder, api_restock seçilen kalemleri stoğa geri ekler. İkisinin de varsayılanı true’dur. Sipariş iptali ise status alanını cancelled yapmakla olur ve tek başına para iadesi yapmaz.

POST/wp-json/wc/v3/orders/<id>/refunds

İade uç noktaları

İşlemYöntem ve adres
İade oluşturmaPOST /orders/ID/refunds
İade önizleme (WooCommerce 11.1 ve üstü)POST /orders/ID/refunds/preview
Siparişin iadeleriGET /orders/ID/refunds
Tek iadeGET /orders/ID/refunds/IADE_ID
İade silmeDELETE /orders/ID/refunds/IADE_ID?force=true
Tüm iadeler, siparişten bağımsızGET /refunds (salt okunur)

v3 kaynak listesinde müşterinin iade talebi açtığı bir kaynak yoktur. İade talepleri genellikle eklentilerle yönetilir; API’deki refunds kaynağı mağazanın yaptığı iadeleri tutar.

İade alanları

AlanAçıklama
amountİade tutarı; verilirse kalem toplamlarından önceliklidir
reasonİade nedeni
line_itemsid, quantity, refund_total ve refund_tax ile iade edilen kalemler
api_refundtrue ise para ödeme altyapısı üzerinden iade edilir; varsayılan true
api_restocktrue ise seçilen kalemler stoğa geri eklenir; varsayılan true
refunded_paymentÖdeme API üzerinden iade edildi mi, salt okunur
compute_totalstrue ise tutarları sunucu hesaplar; WooCommerce 11.1 ve üstü

İki varsayılan değere dikkat edin. Yalnız kayıt amacıyla iade oluşturuyorsanız ve para kapıda ödeme gibi başka yolla iade edildiyse api_refund=false gönderin. Ürün depoya dönmediyse api_restock=false gönderin.

Sunucu hesaplı iade: compute_totals

WooCommerce 11.1 ile gelen compute_totals=true seçeneğinde kalemler için yalnız id ve quantity göndermeniz yeterlidir. Sunucu tutarı kayıtlı birim fiyat ve vergiden hesaplar, kalan iade edilebilir tutarla sınırlar ve siparişin iade geçmişine göre doğrular.

  • 11.1 öncesi siteler bu parametreyi tanımaz ve yok sayar; yalnız adet gönderen istek 0,00 tutarlı bir iade oluşturur.
  • Desteği anlamak için uç noktaya OPTIONS isteği gönderip compute_totals parametresini arayın ya da preview adresini deneyin; desteklemeyen sitede preview rest_no_route ve 404 döner.
  • Fazla iade istekleri 400 ya da 422 ile reddedilir: woocommerce_rest_refund_exceeds_remaining, woocommerce_rest_quantity_exceeds_refundable gibi kodlar.

İptal ile iade arasındaki fark

İşlemParaStokSipariş durumu
Durumu cancelled yapmakİade edilmezStok yönetimi açıksa geri eklenircancelled
Tam iade (otomatik)Ödeme yöntemine iade edilir“Stoğa geri ekle” seçiliyse eklenirrefunded
Tam iade (manuel)Mağaza parayı kendisi iade ederSeçime bağlırefunded
Kısmi iadeSeçilen tutarSeçilen kalemlerDeğişmez

Belgeye göre manuel iade, siparişi iade edildi olarak işaretler ama parayı müşteriye geri göndermez. Kapıda ödeme gibi otomatik iadeyi desteklemeyen yöntemlerde bu yol kullanılır.

Sık sorulanlar

WooCommerce API ile iade nasıl yapılır?

POST /wp-json/wc/v3/orders/ID/refunds isteğiyle amount, reason ve gerekirse line_items gönderirsiniz. Para iadesi için ödeme yönteminizin otomatik iadeyi desteklemesi gerekir.

İade edilen ürün stoğa otomatik eklenir mi?

API’de api_restock varsayılan olarak true’dur ve seçilen kalemler stoğa eklenir. Ürün depoya dönmediyse api_restock=false gönderin.

Siparişi iptal etmek para iadesi yapar mı?

Hayır. Durumu cancelled yapmak yalnız siparişi iptal eder. Para iadesi için iade uç noktası ya da paneldeki iade düğmesi kullanılır.

Kısmi iade sipariş durumunu değiştirir mi?

Belgeye göre tutarın tamamı iade edilmezse sipariş Refunded durumuna geçmez; müşteriye kısmi iade e-postası gider.

Kaynaklar

İlgili WooCommerce API konuları

Son güncelleme: 27.10.2026 · WooCommerce API rehberinin tamamı

WooCommerce entegrasyonunu kod yazmadan kurun

Saystok bu API'lerle stok, sipariş ve fiyatı sizin yerinize eşitler. 30 gün ücretsiz.