متد inquiry
به شما امکان میدهد تا وضعیت یک تراکنش را بررسی و استعلام کنید. این متد زمانی استفاده میشود که بخواهید پس از ارسال درخواست پرداخت یا تأیید پرداخت، اطلاعات دقیقتری درباره وضعیت تراکنش کسب کنید.
در جدول زیر پارامترهای ارسالی به متد inquiry
و توضیحات مربوط به آنها آورده شده است:
نام پارامتر | نوع | الزامی | توضیحات |
---|---|---|---|
merchant_id | String | بله | کد Merchant شما که توسط زرینپال اختصاص داده شده است. |
authority | String | بله | کد یکتای درخواست پرداخت که پس از درخواست پرداخت دریافت میشود. |
در جدول زیر پارامترهای بازگشتی از متد inquiry
توضیح داده شده است:
نام پارامتر | نوع | توضیحات |
---|---|---|
code | Integer | کد وضعیت تراکنش: کد 100 برای تراکنش موفق. |
message | String | پیام وضعیت تراکنش، مانند موفقیتآمیز یا عدم موفقیت تراکنش. |
status | String | وضعیت نهایی تراکنش که نشان میدهد تراکنش موفق بوده یا لغو شده است. |
در ادامه نمونه کدی ارائه شده است که ابتدا کد authority
از دیتابیس فراخوانی میشود و سپس با استفاده از آن، وضعیت تراکنش از زرینپال استعلام میشود:
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use ZarinPal\Sdk\Options;
use ZarinPal\Sdk\ZarinPal;
use ZarinPal\Sdk\HttpClient\Exception\ResponseException;
use ZarinPal\Sdk\Endpoint\PaymentGateway\RequestTypes\InquiryRequest;
$options = new Options([
'merchant_id' => '67887a6d-e2f8-4de2-86b1-8db27bc171b5',
]);
$zarinpal = new ZarinPal($options);
$paymentGateway = $zarinpal->paymentGateway();
$inquiryRequest = new InquiryRequest();
$inquiryRequest->authority = 'A000000000000000000000000000ydq5y838';
try {
$response = $paymentGateway->inquiry($inquiryRequest);
echo "Transaction Inquiry: \n";
echo "Amount: " . $response->code . "\n";
echo "Status: " . $response->message . "\n";
echo "Status: " . $response->status . "\n";
} catch (ResponseException $e) {
echo 'Transaction Inquiry Validation Error: ' . $e->getErrorDetails();
} catch (\Exception $e) {
echo 'Transaction Inquiry Validation Error: ' . $e->getMessage();
}