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

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

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

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

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

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

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

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

# نمونه کد Python

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

from zarinpal import ZarinPal
from utils.Config import Config
def inquire_transaction():
    try:
        config = Config(
            merchant_id= "Your merchant code",
            sandbox=True,  
        )
        zarinpal = ZarinPal(config)
        response = zarinpal.inquiries.inquire({
            #Enter authority:
            "authority": " "   
        })
        print("Inquiry Result:", response)
    except Exception as e:
        print("Error during inquiry:", e)
        if hasattr(e, "response"):
            print("Error Details:", e)
        else:
            print("No additional error details available.")
if __name__ == "__main__":
    inquire_transaction()