# لیست تراکنش‌ها

متد لیست تراکنش‌ها به شما این امکان را می‌دهد که تمامی تراکنش‌های مربوط به یک ترمینال خاص را دریافت کنید. این متد می‌تواند برای مشاهده وضعیت تراکنش‌ها و فیلتر کردن آن‌ها استفاده شود.

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

نام نوع اجباری شرح
terminal_id String بله شناسه ترمینال درگاه مورد نظر
filter String خیر فیلتر بر اساس وضعیت تراکنش‌ها (اختیاری): PAID، VERIFIED، TRASH، ACTIVE، REFUNDED
offset Integer خیر شروع ردیف‌های بازگشتی (اختیاری)
limit Integer خیر تعداد ردیف‌های بازگشتی (اختیاری)

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

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

نام نوع شرح
id String شناسه تراکنش
status String وضعیت تراکنش (مثلاً PAID، FAILED)
amount Integer مبلغ تراکنش به ریال
description String توضیحات مربوط به تراکنش
created_at String تاریخ و ساعت ایجاد تراکنش

# نمونه کد PHP

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

<?php
require_once __DIR__ . '/../vendor/autoload.php';
use ZarinPal\Sdk\HttpClient\Exception\ResponseException;
use ZarinPal\Sdk\Options;
use ZarinPal\Sdk\ClientBuilder;
use ZarinPal\Sdk\ZarinPal;
use ZarinPal\Sdk\Endpoint\GraphQL\RequestTypes\TransactionListRequest;
$clientBuilder = new ClientBuilder();
$options = new Options([
    'client_builder' => $clientBuilder,
    'access_token' => 'your access token', // Access token without Bearer
]);
$zarinpal = new ZarinPal($options);
$transactionService = $zarinpal->transactionService();
$transactionRequest = new TransactionListRequest();
$transactionRequest->terminalId = '349555';
$transactionRequest->filter = 'PAID'; // Optional filter: PAID, VERIFIED, TRASH, ACTIVE, REFUNDED
$transactionRequest->offset = 0;
$transactionRequest->limit = 25;
try {
    $transactions = $transactionService->getTransactions($transactionRequest);
    $transactionArray = [];
    foreach ($transactions as $transaction) {
        $transactionArray[] = [
            'Transaction ID' => $transaction->id,
            'Status' => $transaction->status,
            'Amount' => $transaction->amount,
            'Description' => $transaction->description,
            'Created At' => $transaction->created_at,
        ];
    }
    echo json_encode($transactionArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
   } catch (Exception $e) {
 echo "General Error: " . $e->getMessage();
}