Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if (!isset($_REQUEST)) {
- return;
- }
- //Строка для подтверждения адреса сервера из настроек Callback API
- $confirmation_token = '123';
- //Ключ доступа сообщества
- $token = '123';
- //Получаем и декодируем уведомление
- $data = json_decode(file_get_contents('php://input'));
- //Проверяем, что находится в поле "type"
- switch ($data->type) {
- //Если это уведомление для подтверждения адреса...
- case 'confirmation':
- //...отправляем строку для подтверждения
- echo $confirmation_token;
- break;
- //Если это уведомление о новом сообщении...
- case 'message_new':
- $datas = array(
- 'action' => 'pay-to-group',
- 'amount' => '1',
- 'group_id' => '183981859'
- );
- $buttons = [
- 'one_time' => false,
- 'buttons' =>
- array (
- array (
- array (
- 'action' =>
- array (
- 'type' => 'vkpay',
- 'hash' => http_build_query($datas),
- ),
- ),
- ),
- ),
- ];
- $buttons = json_encode($buttons);
- //...получаем id его автора
- $user_id = $data->object->from_id;
- //затем с помощью users.get получаем данные об авторе
- $user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$user_id}&access_token={$token}&v=5.0"));
- //и извлекаем из ответа его имя
- $user_name = $user_info->response[0]->first_name;
- $random_id = mt_rand(1, 99999999);
- //С помощью messages.send отправляем ответное сообщение
- $request_params = array(
- 'message' => "Hello, {$user_name}!",
- 'user_id' => $user_id,
- 'access_token' => $token,
- 'v' => '5.95',
- 'group_id' => '183981859',
- 'random_id' => $random_id,
- 'keyboard' => $buttons
- );
- $get_params = http_build_query($request_params);
- var_dump(file_get_contents('https://api.vk.com/method/messages.send?'. $get_params));
- //Возвращаем "ok" серверу Callback API
- echo('ok');
- break;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement