# محاسبه کارمزد تراکنش (FeeCalculation)

متد fee_calculation به شما امکان می‌دهد تا قبل از ایجاد درخواست پرداخت، میزان کارمزد یک تراکنش را محاسبه و دریافت کنید. این متد زمانی مفید است که بخواهید کارمزد تراکنش را پیش از شروع فرآیند پرداخت به کاربر نمایش دهید یا در محاسبات خود لحاظ کنید.

# پارامترهای ارسالی به متد FeeCalculation

نام پارامتر نوع الزامی توضیحات
merchant_id str بله کد Merchant شما که توسط زرین‌پال اختصاص داده شده است.
amount int بله مبلغ تراکنش به ریال که باید بیشتر از 1000 ریال باشد.
currency str خیر نوع ارز تراکنش (پیش‌فرض: IRR). مقادیر مجاز: IRR, IRT

# مقادیر بازگشتی از متد FeeCalculation

نام پارامتر نوع توضیحات
code int کد وضعیت درخواست: کد 100 برای درخواست موفق.
message str پیام وضعیت درخواست، مانند موفقیت‌آمیز بودن محاسبه کارمزد.
amount int مبلغ اصلی تراکنش به ریال.
fee int میزان کارمزد محاسبه شده به ریال.
fee_type str نوع پرداخت کننده کارمزد: Merchant (پذیرنده) یا Payer (پرداخت کننده).
suggested_amount str مبلغ پیشنهادی برای تسویه حساب

# نمونه کد (Python)

from zarinpal import ZarinPal
from utils.Config import Config
def calculate_fee():
    try:
        config = Config(
            merchant_id = ""
        )
        zarinpal = ZarinPal(config)
        fee = zarinpal.fee.calculate({
            "amount": 90000,
            "currency": "IRR"
        })
        print("Fee Calculation Result:", fee)
    except Exception as e:
        print("Error calculating fee:", e)
if __name__ == "__main__":
    calculate_fee()

# نکات مهم

  • مبلغ تراکنش باید حداقل ۱۰۰۰ ریال باشد.
  • کارمزد محاسبه شده بر اساس تنظیمات ترمینال شما و نوع تراکنش متفاوت خواهد بود.
  • نوع پرداخت کننده کارمزد (fee_type) می‌تواند Merchant (پذیرنده می‌پردازد) یا Payer (مشتری می‌پردازد) باشد.
  • این متد صرفاً برای محاسبه کارمزد است و هیچ تراکنشی ایجاد نمی‌کند.