у меня такой вопрос. Еще около двух лет назад я пытался поставить Payeer на Laravel, но безуспешно. Столкнулся с проблемой на мой настроенные роут попросту не приходит IPN нотификация. Вышел из положения создав отдельный php файл в директории паблик, но это костыли.
Сейчас работаю уже с другой системой, PrimePayeer, опыта стало больше, но ситуация аналогичная, пытаюсь разобраться и нигде не могу найти решения. На отдельный файл в директории /public нотификация сразу приходит. А на функцию по следующим настройкам - нет
Функции:
public function success() {
Storage::put('success.txt', 'no ip check');
return view('payment.success');
}
public function fail() {
return view('payment.fail');
}
public function status(Request $request) {
Storage::put('notok.txt', 'no ip check');
try {
$secret = env('PRIMEPAYER_SECRET');
Storage::put('ok.txt', 'no ip check');
if (!in_array(request()->ip(), ['109.120.152.109', '145.239.84.249', true])) {
exit();
}
Storage::put('user.txt', 'user_id: '.$request->uv_user);
$sign = $request->sign;
unset($request->sign);
$data = $request->all();
ksort($data,SORT_STRING);
$signi = hash('sha256', implode(':', $data).':'.$secret);
if($signi !== $sign) {
Storage::put('log.txt', $signi.'\n\n'.$sign.'\n'.'Incorrect Sign');
}
$user = User::findOrFail($request->uv_user);
$user->balance += $request->amount;
$user->save();
return response()->setStatusCode(200);
} catch (\Exception $e) {
Storage::put('errors.txt', $e->getMessage());
}
}
web.php:
Route::post('/success', 'HomeController@success');
Route::post('/fail', 'HomeController@fail');
Route::post('/status', 'HomeController@status');
VerifyCSRF Middleware:
VerifyCsrfToken extends Middleware
{
/**
* Indicates whether the XSRF-TOKEN cookie should be set on the response.
*
* @var bool
*/
protected $addHttpCookie = true;
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'/success',
'/fail',
'/status'
];
}
Касательно файликов в функции статус. Ни один так и не создался. Что говорит о том что либо нотификация получила код 500, либо еще какой то статус код, который даже не дает выполниться элементарным функциям.
Очень хочется наконец-то разобрать IPN, ибо платежки больная тема. Кто сталкивался, подскажите пожалуйста как решить :)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужна помощь есть html дерево где с помощью DomCrawler парсим нужные нам значения(имя товара и цена) сложность в том как из двух масивов сделать один(ключ...
Есть массив $X = [0,-5,-9,3,76,-99,-3,-4,101,-212,10,31]; Надо переставить отрицательные элементы из в начало массива, а положительные в конец, сохранив при этом...
нуждаюсь в совете либо в примере, как реализовать структуру бд, дл выполнения задачи
В корзине есть специальное поле(input например), в который если ввести необходимое значение - цена(вводимая js'ом) покупки должна уменьшиться