Open morteza2m opened 6 years ago
آیا برای حل این مورد؛ می توانم فقط توابعی برای set و get درون مثلا فایل Mellat.php اضافه کنم به شکل زیر: ` /**
@param $tid */ function setTerminalId($tid) { $this->terminalId = $tid; return $this; }
function getTerminalId() { if (!$this->terminalId) $this->terminalId = $this->config->get('gateway.mellat.terminalId'); return $this->terminalId; } `
و بعد در تابع sendPayRequest فقط خط زیر را:
'terminalId' => $this->config->get('gateway.mellat.terminalId'),
به این:
'terminalId' => $this->getTerminalId(),
تبدیل کنم؟
و همینکار را برای مابقی متغییر ها و کلاسها؟
@morteza2m می توانید از کد هاینمونه shirazsoft/shirazhesab
استفاده کنید.
اگر دوست دارید از همچین چیزی استفاده کنید:
new Mellat(app(), [
'username' => '',
'password' => '',
'terminalId' => 0000000,
'callback-url' => '/'
]);
از این استفاده کنید
باسلام و احترام. من نمی خواهم به صورت ثابت مشخصات درگاه بانک را بدهم؛ بلکه می خواهم به صورت اختیاری یا شخصی سازی؛ هر زمان در برنامه باتوجه به نیاز؛ کاربر را متصل کنم به درگاه موردنظر خودم. به همین دلیل ممکن است من چندین درگاه از بانک ملی و چندین درگاه از بانک های دیگر داشته باشم و نمی خواهم در فایل 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')); `