Используйте константы в методе запроса Laravel

У меня есть этот метод для выполнения платежей. Я пытаюсь назначить все необходимые значения $pr:

public function request() {
$pr = new \SporoPayPaymentRequest();
$pr->pu_predcislo = SLSP_SPOROPAY_PU_PREDCISLO;
$pr->pu_cislo = SLSP_SPOROPAY_PU_CISLO;
$pr->suma = $this->amount; // suma (v €)
$pr->vs = $this->variableSymbol; // variabilný symbol platby
$pr->url = $this->returnUrl;
//$pr->mail_notif_att = 3;
//$pr->email_adr = 'platby@App.sk';

// ??? bez tychto dvoch parametrov to nejde
$pr->param = urldecode('abc=defgh');
$pr->ss = str_pad($this->specificSymbol, 10, 0, STR_PAD_LEFT);
$pr->SetRedirectUrlBase('SLSP_SPOROPAY_REDIRECTURLBASE');

if ($pr->Validate()) {
$pr->SignMessage(SLSP_SPOROPAY_SHAREDSECRET);
$paymentRequestUrl = $pr->GetRedirectUrl();
// header("Location: " . $paymentRequestUrl);
// pre pripad ze nas to nepresmeruje dame userovi moznost kliknut si priamo na link
return $paymentRequestUrl;
} else {
return FALSE;
}
}`

Я отправляю массив этому методу и этот массив вижу как:

array:6 [
"mode" => "sandbox""SLSP_SPOROPAY_PU_PREDCISLO" => "000000""SLSP_SPOROPAY_PU_CISLO" => "0013662162""SLSP_SPOROPAY_PU_KBANKY" => "0900""SLSP_SPOROPAY_SHAREDSECRET" => "Z3qY08EpvLlAAoMZdnyUdQ==""SLSP_SPOROPAY_REDIRECTURLBASE" => "http://epaymentsimulator.monogram.sk/SLSP_SporoPay.aspx"]

Как я могу присвоить SLSP_SPOROPAY_PU_PREDCISLO значение из моего массива? Спасибо.

Или теперь я вижу, у меня есть в файле библиотеки «constatns.php» с:

define('SLSP_SPOROPAY_PU_PREDCISLO', '000000');
define('SLSP_SPOROPAY_PU_CISLO', '0013662162');
define('SLSP_SPOROPAY_PU_KBANKY', '0900');
define('SLSP_SPOROPAY_SHAREDSECRET', 'Z3qY08EpvLlAAoMZdnyUdQ==');
define('SLSP_SPOROPAY_REDIRECTURLBASE', 'http://epaymentsimulator.monogram.sk/SLSP_SporoPay.aspx');

но все эти константы будут часто меняться, поэтому, возможно, теперь мне нужно установить константы в этой заливке, а затем вызвать запрос метода. Или поговори со мной лучший способ для этого.

Спасибо.

0

Решение

Один из способов сделать это будет использовать config,

Например, вы можете поместить следующее в поставщика услуг:

$array = ['SLSP_SPOROPAY' =>
[
"mode" => "sandbox",
"PU_PREDCISLO" => "000000",
"PU_CISLO" => "0013662162",
"PU_KBANKY" => "0900",
"SHAREDSECRET" => "Z3qY08EpvLlAAoMZdnyUdQ==",
"REDIRECTURLBASE" => "http://epaymentsimulator.monogram.sk/SLSP_SporoPay.aspx"]
];

config($array);

Это позволит вам получить доступ к этим настройкам в любом месте вашего приложения laravel с помощью точечной нотации, например:

config('SLSP_SPOROPAY.mode');
config('SLSP_SPOROPAY.PU_PREDCISLO'); // and so on

Тогда, конечно, вы можете изменить соглашение об именах по своему вкусу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector