Bayi Ödeme İadesi (Refund)
- Endpoint:
/vpws/payment/refund - HTTP Method:
POST - Request Content-Type:
application/json - Response Content-Type:
application/json - Yetkilendirme: Geçerli AccessToken zorunludur.
(Bkz: 2. Kimlik Doğrulama – AccessToken Alınması)
Açıklama
Bu servis, VPWS üzerinden daha önce gerçekleştirilmiş bir ödeme işleminin tam veya kısmi iade edilmesini sağlar.
İade işlemi
- Yalnızca başarılı (
transactionStatusId = 1) işlemler için yapılabilir. referenceCodeüzerinden gerçekleştirilir.- Banka provizyon kurallarına bağlı olarak başarılı veya başarısız sonuçlanabilir.
Not: Bayi yalnızca kendi gerçekleştirdiği işlemler için iade talebi oluşturabilir.
Header Bilgileri
| Header Adı | Zorunlu | Açıklama |
|---|---|---|
| Authorization | Evet | Bearer {AccessToken} |
| Content-Type | Evet | application/json |
Request Body
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| referenceCode | string | Evet | İade edilmek istenen işlemin referans kodu |
| amount | decimal | Hayır | İade edilecek tutar. Gönderilmezse tam iade yapılır |
| reason | string | Hayır | İade gerekçesi (örn: "Ürün iadesi") |
Senaryolar
- Tam İade (Full Refund):
amountalanı gönderilmez. İşlem tutarının tamamı iade edilir. - Kısmi İade (Partial Refund):
amountalanı gönderilir. Belirtilen tutar kadar iade yapılır.
- Örnek Request (Kısmi İade)
- Başarılı Response
{
"referenceCode": "NTH2P00000002974",
"amount": 15,
"reason": "test refund"
}
{
"message": null,
"statusCode": 200,
"exceptions": null,
"data": {
"lastAmount": 235.00,
"transactionStatusId": 6,
"errorCode": null,
"errorMessage": null,
"isSuccess": true
},
"oldData": null,
"errors": null
}
data Alanları
| Alan | Tip | Açıklama |
|---|---|---|
lastAmount | number | İade sonrası kalan tutar |
transactionStatusId | int | Güncel işlem durumu |
errorCode | string/null | Hata kodu |
errorMessage | string/null | Hata mesajı |
isSuccess | boolean | İşlemin başarılı olup olmadığı |
Durum Senaryoları
Başarılı Tam İade
isSuccess = truelastAmount = 0.00transactionStatusId = 6
Başarılı Kısmi İade
isSuccess = truelastAmount > 0transactionStatusId = 6
Başarısız İade
isSuccess = falseerrorCodeveerrorMessagedolu dönerlastAmountdeğişmeyebilir
Örnek cURL
curl --location 'https://pgw.netahsilatdemo.com/vpws/payment/refund' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {AccessToken}' \
--data '{
"referenceCode": "NTH2P00000002974",
"amount": 15,
"reason": "test refund"
}'
Notlar & En İyi Uygulamalar
-
amountdeğeri işlem tutarından büyük olamaz. -
Aynı işlem için birden fazla kısmi iade yapılabilir; toplam iade tutarı işlem tutarını aşamaz.
-
Banka iade süresi (örneğin 30 gün) geçmiş işlemlerde iade mümkün olmayabilir.
-
Tamamlanmamış veya başarısız işlemler için iade talebi oluşturulamaz.
-
İade sonrası güncel durum 3.4 – İşlem Sorgulama servisi ile doğrulanmalıdır.
-
Bayi yalnızca kendi işlemlerine iade uygulayabilir.