# استعلام تراکنش (Transaction Inquiry)

متد paymentInquiry به شما امکان می‌دهد تا وضعیت یک تراکنش را بررسی و استعلام کنید. این متد زمانی استفاده می‌شود که بخواهید پس از ارسال درخواست پرداخت یا تأیید پرداخت، اطلاعات دقیق‌تری درباره وضعیت تراکنش کسب کنید.

# پارامترهای ارسالی به متد Inquiry

در جدول زیر پارامترهای ارسالی به متد paymentInquiry و توضیحات مربوط به آن‌ها آورده شده است:

نام پارامتر نوع الزامی توضیحات
merchant_id String بله کد Merchant شما که توسط زرین‌پال اختصاص داده شده است.
authority String بله کد یکتای درخواست پرداخت که پس از درخواست پرداخت دریافت می‌شود.

# مقادیر بازگشتی از متد Inquiry

در جدول زیر پارامترهای بازگشتی از متد paymentInquiry توضیح داده شده است:

نام پارامتر نوع توضیحات
code Integer کد وضعیت تراکنش: کد 100 برای تراکنش موفق.
message String پیام وضعیت تراکنش، مانند موفقیت‌آمیز یا عدم موفقیت تراکنش.
status String وضعیت نهایی تراکنش که نشان می‌دهد تراکنش موفق بوده یا لغو شده است.

# نمونه کد

در ادامه نمونه کدی ارائه شده است که با استفاده از کد authority، وضعیت تراکنش از زرین‌پال استعلام می‌شود:

import com.example.zarinpal.ZarinPal
import com.example.zarinpal.data.remote.dto.inquiry.PaymentInquiryDataResponse
import com.example.zarinpal.data.remote.dto.inquiry.PaymentInquiryRequest
val request = PaymentInquiryRequest(authority = "authority")
CoroutineScope(Dispatchers.IO).launch {
  try{
    val response = zarinPal.paymentInquiry(request)
     Log.v("ZP_Log","$response")
  } catch (ex: Exception) {
    ex.printStackTrace()
  }
}