متد استرداد وجه به شما این امکان را میدهد که در صورت تغییر یا لغو سفارش مشتریان، واریزیهای اشتباه یا هرگونه الزامی جهت بازگرداندن وجه به خریدار، تمام مبلغ واریز شده یا حتی بخشی از آن را به صورت آنی یا در سیکلهای پایا، به حساب آنها واریز نمایید.
در این متد، پارامترهای زیر به API ارسال میشود:
نام | نوع | اجباری | شرح |
---|---|---|---|
session_id | String | بله | شماره تراکنش |
amount | Integer | بله | مبلغ ریال (حداقل مبلغ قابل استرداد ۲۰۰۰۰ ریال) |
description | String | بله | توضیح علت استرداد وجه |
method | String | بله | متد استرداد وجه (CARD یا PAYA) |
reason | String | بله | دلیل استرداد (CUSTOMER_REQUEST و غیره) |
در صورت موفقیت، اطلاعات زیر از API دریافت میشود:
نام | نوع | شرح |
---|---|---|
id | String | شماره تراکنش |
terminal_id | String | شماره ترمینال درگاه |
amount | Integer | مبلغ پرداخت شده به ریال |
timeline | Object | تاریخچه تراکنش |
refund_amount | Integer | مبلغ استرداد |
refund_time | String | تاریخ ثبت استرداد |
refund_status | String | وضعیت استرداد |
در ادامه نمونهای از پیادهسازی متد استرداد وجه در android آمده است:
import com.example.zarinpal.ZarinPal
import com.example.zarinpal.data.remote.dto.Config
import com.example.zarinpal.data.remote.dto.refund.PaymentRefundRequest
import com.example.zarinpal.data.remote.dto.refund.PaymentRefundResponse
import com.example.zarinpal.data.remote.dto.verification.PaymentVerificationDataResponse
import com.example.zarinpal.data.remote.enum.MethodEnum
import com.example.zarinpal.data.remote.enum.ReasonEnum
val zarinPal = ZarinPal(
Config(
merchantId = "your-merchant-id",
)
)
CoroutineScope(Dispatchers.IO).launch {
try{
val request = PaymentRefundRequest(
amount = 20000,
description = "des",
sessionId = "id",
method = MethodEnum.PAYA,
reason = ReasonEnum.OTHER,
)
val response = zarinPal.paymentRefund(request)
Log.v("ZP_Log","$response")
} catch (ex: Exception) {
ex.printStackTrace()
}
}