İade uç noktaları
| İşlem | Yöntem ve adres |
|---|---|
| İade oluşturma | POST /orders/ID/refunds |
| İade önizleme (WooCommerce 11.1 ve üstü) | POST /orders/ID/refunds/preview |
| Siparişin iadeleri | GET /orders/ID/refunds |
| Tek iade | GET /orders/ID/refunds/IADE_ID |
| İade silme | DELETE /orders/ID/refunds/IADE_ID?force=true |
| Tüm iadeler, siparişten bağımsız | GET /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ı
| Alan | Açıklama |
|---|---|
| amount | İade tutarı; verilirse kalem toplamlarından önceliklidir |
| reason | İade nedeni |
| line_items | id, quantity, refund_total ve refund_tax ile iade edilen kalemler |
| api_refund | true ise para ödeme altyapısı üzerinden iade edilir; varsayılan true |
| api_restock | true ise seçilen kalemler stoğa geri eklenir; varsayılan true |
| refunded_payment | Ödeme API üzerinden iade edildi mi, salt okunur |
| compute_totals | true 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
| İşlem | Para | Stok | Sipariş durumu |
|---|---|---|---|
| Durumu cancelled yapmak | İade edilmez | Stok yönetimi açıksa geri eklenir | cancelled |
| Tam iade (otomatik) | Ödeme yöntemine iade edilir | “Stoğa geri ekle” seçiliyse eklenir | refunded |
| Tam iade (manuel) | Mağaza parayı kendisi iade eder | Seçime bağlı | refunded |
| Kısmi iade | Seçilen tutar | Seçilen kalemler | Değ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ı


