# استعلام تراکنش‌های تأیید نشده

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

# پارامترهای ورودی

در این متد، پارامترهای زیر به API ارسال می‌شود:

نام نوع اجباری شرح
merchant_id String بله کد ۳۶ کاراکتری اختصاصی پذیرنده

# اطلاعات خروجی

در صورت موفقیت، اطلاعات زیر از API دریافت می‌شود:

نام نوع شرح
code Integer عددی که نشان‌دهنده موفق بودن یا عدم موفق عملیات می‌باشد.
authorities Array حاوی اطلاعات اضافه تراکنش اعم از نوع درگاه و زمان پرداخت به صورت JSON Encode شده می‌باشد.

# نمونه کد PHP

در ادامه نمونه‌ای از پیاده‌سازی متد استعلام تراکنش‌های تأیید نشده در PHP آمده است:

<?php
require_once __DIR__ . '/../vendor/autoload.php';
use ZarinPal\Sdk\Options;
use ZarinPal\Sdk\ZarinPal;
use ZarinPal\Sdk\Endpoint\PaymentGateway\RequestTypes\UnverifiedRequest;
use ZarinPal\Sdk\HttpClient\Exception\ResponseException;
$options = new Options([
    'merchant_id' => '67887a6d-e2f8-4de2-86b1-8db27bc171b5',
]);
$zarinpal = new ZarinPal($options);
$paymentGateway = $zarinpal->paymentGateway();
$unverifiedRequest = new UnverifiedRequest();
try {
    $response = $paymentGateway->unverified($unverifiedRequest);
    if ($response->code === 100) {
        if (empty($response->authorities)) {
            echo "No authorities found.\n";
        } else {
            foreach ($response->authorities as $transaction) {
                echo "Transaction Authority: " . $transaction['authority'] . "\n";
                echo "Amount: " . $transaction['amount'] . "\n";
                echo "Callback URL: " . $transaction['callback_url'] . "\n";
                echo "Referer: " . $transaction['referer'] . "\n";
                echo "Date: " . $transaction['date'] . "\n";
                echo "--------------------------\n";
            }
        }
    } else {
        echo "Failed to retrieve unverified transactions. Code: " . $response->code . "\n";
        echo "Message: " . $response->message . "\n";
    }
} catch (ResponseException $e) {
    echo 'Unverified inquiry failed: ' . $e->getMessage() . "\n";
    if ($e->getErrorDetails()) {
        echo 'Error Details: ' . json_encode($e->getErrorDetails()) . "\n";
    }
} catch (\Exception $e) {
    echo 'Unverified inquiry failed: ' . $e->getMessage();
}