Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго всем времени суток. Научите новичка правильно прикручивать платежные системы на сайт. Интересуют платежные системы пространства СНГ типа Yandex.Money, QIWI,LiqPAY. Буду очень благодарен за любой пинок в нужную сторону.
Не в сети
Начните с документации. У всех выше названых провайдеров информации достаточно. Самая простая схема, это заполнение формы на вашем сайте и отправка в шлюз платежной системы, оттуда редирект на платежную форму и после оплаты возврат на указанную страницу вашего сайта. Опционально есть опция пуша, для информирования о состоянии платежа.
Не в сети
Процесс я понимаю, документацию изучил, пока не совсем понимаю его реализацию во фреймворке, было бы неплохо если бы помогли с примером.
Не в сети
Процесс я понимаю, документацию изучил, пока не совсем понимаю его реализацию во фреймворке, было бы неплохо если бы помогли с примером.
У вас есть код формы . Создаете контроллер и кладете этот код в вью котроллера например. Покажите что вы делали, как минимум, и что не получилось.
Не в сети
Уже разобрался, форму создал платеж проходит, теперь думаю, как сделать чтобы при удачной оплате в БД заносился срок подписки.
Не в сети
Смотрите в сторону push-настроек на стороне платежных систем. С вашей стороны нужно подготовить урл куда будет стучаться платежка. Под каждую систему свой урл. И сразу подготовьте консольную команду для ручной проверки платежа по его идентификатору. Из опыта скажу, будете пользоваться чуть чаще чем всегда). Урлы должны быть закрыты за https.
Изменено lodar (20.05.2019 17:17:50)
Не в сети
Смотрите в сторону push-настроек на стороне платежных систем. С вашей стороны нужно подготовить урл куда будет стучаться платежка. Под каждую систему свой урл. И сразу подготовьте консольную команду для ручной проверки платежа по его идентификатору. Из опыта скажу, будете пользоваться чуть чаще чем всегда). Урлы должны быть закрыты за https.
Правильно ли направление мыслей:
1 Создал контроллер
2. В роутах прписал Route::post('payment','PaymentController@payment');
3. В кононтролере содал такой метод
public function payment(Request $request)
{
parse_str($request->getContent(), $arr);
$hash = sha1($arr['notification_type'].'&'. $arr['operation_id'] .'&'. $arr['amount'] .'&'. $arr['currency'] .'&'.
$arr['datetime'] .'&'. $arr['sender'] .'&'. $arr['codepro'] .'&'. 'UmUGoYENzynxxALGuehgN0EX' .'&'. $arr['label']);
if($arr['sha1_hash'] != $hash or $arr['codepro'] === true or $arr['unaccepted'] ===true)
{
flash()->overlay('Payment error', 'Payment');
return redirect('user');
}
$email = $arr['email'];
file_put_contents('files/history.php', $arr['datetime'] . 'Платеж получен' . $arr['amount'] . $arr['email'] . PHP_EOL, FILE_APPEND);
flash()->overlay('Payment OK ' . $email, 'Payment');
return redirect('user');
}
4. НА странице настроек ЯД указал урл http://site.io/payment
Изменено Alexzt (20.05.2019 19:48:28)
Не в сети
public function payment(Request $request)
Вы для чего используете этот метод? Если для пуша, то я не совсем понимаю что вы делаете в вашем коде.
Изменено lodar (21.05.2019 16:26:12)
Не в сети
Вы для чего используете этот метод? Если для пуша, то я не совсем понимаю что вы делаете в вашем коде.
Да, тут подразумевалось разобрать ответ после успешной оплаты. Пока хотел записать данные в файл, но будет запись в БД.
Не в сети
Пока хотел записать данные в файл, но будет запись в БД.
Log::emergency($message);
Log::alert($message);
Log::critical($message);
Log::error($message);
Log::warning($message);
Log::notice($message);
Log::info($message);
Log::debug($message);
А чем не устроило запись в лог?
Не в сети
А чем не устроило запись в лог?
Чего то не получается увидеть ответ от сервера, где не правильно делаю?
Правильно ли направление мыслей:
1 Создал контроллер
2. В роутах прописал Route::post('payment','PaymentController@payment');
3. В контроллере создал такой метод - для получения ответа от ЯМ
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PaymentController extends Controller
{
public function payment(Request $request)
{
parse_str($request->getContent(), $arr);
$hash = sha1($arr['notification_type'].'&'. $arr['operation_id'] .'&'. $arr['amount'] .'&'. $arr['currency'] .'&'.
$arr['datetime'] .'&'. $arr['sender'] .'&'. $arr['codepro'] .'&'. 'UmUGoYENzynxxALGuehgN0EX' .'&'. $arr['label']);
if($arr['sha1_hash'] != $hash or $arr['codepro'] === true or $arr['unaccepted'] ===true)
{
flash()->overlay('Payment error', 'Payment');
return redirect('user');
}
$email = $arr['email'];
$message = $arr['datetime'] . 'Платеж получен' . $arr['amount'] . $arr['email'];
Log::info($message);
return redirect('user');
}
}
В настройках ЯМ все прописал, тестовое сообщение уходит на нужный адрес.
Не в сети
В настройках ЯМ все прописал, тестовое сообщение уходит на нужный адрес.
Дайте ссылку на документацию, где описывается механизма и структура пуша.
Не в сети
Страницы 1