متد لیست تراکنشها به شما این امکان را میدهد که تمامی تراکنشهای مربوط به یک ترمینال خاص را دریافت کنید. این متد میتواند برای مشاهده وضعیت تراکنشها و فیلتر کردن آنها استفاده شود.
نام | نوع | اجباری | شرح |
---|---|---|---|
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
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();
}