متد feeCalculation
به شما امکان میدهد تا قبل از ایجاد درخواست پرداخت، میزان کارمزد یک تراکنش را محاسبه و دریافت کنید. این متد زمانی مفید است که بخواهید کارمزد تراکنش را پیش از شروع فرآیند پرداخت به کاربر نمایش دهید یا در محاسبات خود لحاظ کنید.
در جدول زیر پارامترهای ارسالی به متد feeCalculation
و توضیحات مربوط به آنها آورده شده است:
نام پارامتر | نوع | الزامی | توضیحات |
---|---|---|---|
merchant_id | String | بله | کد Merchant شما که توسط زرینپال اختصاص داده شده است. |
amount | Integer | بله | مبلغ تراکنش به ریال که باید بیشتر از 1000 ریال باشد. |
currency | String | خیر | نوع ارز تراکنش (پیشفرض: IRR). مقادیر مجاز: IRR, IRT |
در جدول زیر پارامترهای بازگشتی از متد feeCalculation
توضیح داده شده است:
نام پارامتر | نوع | توضیحات |
---|---|---|
code | Integer | کد وضعیت درخواست: کد 100 برای درخواست موفق. |
message | String | پیام وضعیت درخواست، مانند موفقیتآمیز بودن محاسبه کارمزد. |
amount | Integer | مبلغ اصلی تراکنش به ریال. |
fee | Integer | میزان کارمزد محاسبه شده به ریال. |
fee_type | String | نوع پرداخت کننده کارمزد: Merchant (پذیرنده) یا Payer (پرداخت کننده). |
suggested_amount | str | مبلغ پیشنهادی برای تسویه حساب |
در ادامه نمونه کدی ارائه شده است که کارمزد یک تراکنش را محاسبه میکند:
<?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\FeeCalculationRequest;
$options = new Options([
'merchant_id' => '67887a6d-e2f8-4de2-86b1-8db27bc171b5',
]);
$zarinpal = new ZarinPal($options);
$paymentGateway = $zarinpal->paymentGateway();
$feeCalculationRequest = new FeeCalculationRequest();
$feeCalculationRequest->merchant_id = '67887a6d-e2f8-4de2-86b1-8db27bc171b5';
$feeCalculationRequest->amount = 100000; // 100,000 ریال
$feeCalculationRequest->currency = 'IRR'; // اختیاری
try {
$response = $paymentGateway->feeCalculation($feeCalculationRequest);
echo "Fee Calculation Result: \n";
echo "Code: " . $response->code . "\n";
echo "Message: " . $response->message . "\n";
echo "Amount: " . $response->amount . " ریال\n";
echo "Fee: " . $response->fee . " ریال\n";
echo "Fee Type: " . $response->fee_type . "\n";
} catch (ResponseException $e) {
echo 'Fee Calculation Validation Error: ' . $e->getErrorDetails();
} catch (\Exception $e) {
echo 'Fee Calculation Error: ' . $e->getMessage();
}
fee_type
) میتواند Merchant
(پذیرنده میپردازد) یا Payer
(مشتری میپردازد) باشد