larabook / gateway

A Laravel package for connecting to all Iranian Banks
MIT License
242 stars 190 forks source link

تظیم اختیاری چندین درگاه از یک یا چند بانک #113

Open morteza2m opened 6 years ago

morteza2m commented 6 years ago

باسلام و احترام. من نمی خواهم به صورت ثابت مشخصات درگاه بانک را بدهم؛ بلکه می خواهم به صورت اختیاری یا شخصی سازی؛ هر زمان در برنامه باتوجه به نیاز؛ کاربر را متصل کنم به درگاه موردنظر خودم. به همین دلیل ممکن است من چندین درگاه از بانک ملی و چندین درگاه از بانک های دیگر داشته باشم و نمی خواهم در فایل geteway.php یا درون جدول خاصی به صورت محدود ذخیره نمایم. آیا راه حلی برای این موضوع هست؟ مثلا تابعی که قبل از ارسال؛ تنظیمات مربوطه را انجام داد و بعنوان یکسری متغییر به تابع ارسال کرد؟ مثلا به جای این دستور: $gateway = \Gateway::make(new \Mellat()); چنین دستوری زده شود: $gateway = \Gateway::make(new \Mellat(username,password,terminalId,callback-url));

یا چنین دستوری: ` $gateway = \Gateway::make(new \Mellat());

$gateway->setusername(username); $gateway->setpassword(password); $gateway->setterminalId(terminalId); $gateway->setCallback(url('/path/to/callback/route')); `

morteza2m commented 6 years ago

آیا برای حل این مورد؛ می توانم فقط توابعی برای set و get درون مثلا فایل Mellat.php اضافه کنم به شکل زیر: ` /**

و بعد در تابع sendPayRequest فقط خط زیر را: 'terminalId' => $this->config->get('gateway.mellat.terminalId'),

به این: 'terminalId' => $this->getTerminalId(),

تبدیل کنم؟

و همینکار را برای مابقی متغییر ها و کلاسها؟

aliqasemzadeh commented 6 years ago

@morteza2m می توانید از کد هاینمونه shirazsoft/shirazhesab

استفاده کنید.

hamed-ehtesham commented 5 years ago

اگر دوست دارید از همچین چیزی استفاده کنید:

new Mellat(app(), [
    'username'     => '',
    'password'     => '',
    'terminalId'   => 0000000,
    'callback-url' => '/'
]);

از این استفاده کنید