PDA

Просмотр полной версии : [FREEKASSA]: Notification payments


Hatrig
26.07.2019, 04:39
Доброго времени суток. Наверняка есть люди, которые используют модуль FREEKASSA для приема платежей на своем сайте. В этой теме я бы хотел показать и рассказать, как подкрутить к этому модулю уведомления о платежах в личные сообщения вконтакте. Думаю, кому-нибудь это пригодится. Также готовый сурс модуля (уже с Notipay) я прикреплю в архиве. Статья рассчитана на людей, у которых уже стоит FK, в ней не будет рассказано о том, как прикрутить FK к своему сайту (при необходимости запилю отдельно).

За основу я брал SAMP модуль FK:

https://forum.antichat.xyz/attachments/27374912/

link (https://www.blast.hk/redirect/aHR0cDovL3d3dy5mcmVlLWthc3NhLnJ1L21vZHVsZXMucGhwP2 lkPTMz)

Для начала необходимо создать группу вконтакте, от которой мы будем получать сообщения о платежах. Создали? Гуднесс, сразу же переход в управление группой и включаем сообщения:

https://forum.antichat.xyz/attachments/27374912/

Далее, создаем ключ доступа [Настройки->Работа с API -> Ключи доступа] (сразу же сохраняем его куда-нибудь в txt пока):

https://forum.antichat.xyz/attachments/27374912/

"Настройки" -> "Работа с API" -> "Callback API", в поле Адрес: указываем путь к Notipay.php, в поле секретный ключ задаете свой секрет кей.

https://forum.antichat.xyz/attachments/27374912/

Теперь настройте Notipay.php

https://forum.antichat.xyz/attachments/27374912/

Как только вы заполнили Notipay и Callback API настройки сервера, жмете подтвердить (на странице CallBackAPI). На этом настройка сообщества завершена.

Теперь перейдем к FK, в файл lib/FreekassaModel.php , в функцию CreatePayment() вставляем следующий код:

lib/FreekassaModel.php:






include
'notipay.php'
;
$otwet
=
"На ваш проект YourNameProject внесли сумму в размере: "
.
$this
-
>
mysqli
-
>
real_escape_string
(
$sum
)
.
" руб. Оплачивал: "
.
$this
-
>
mysqli
-
>
real_escape_string
(
$account
)
.
""
;
// отправка уведомления об пополнении
$request_params
=
array
(
'message'
=
>
$otwet
,
'user_id'
=
>
'ваш ид вконтакте (цифрами)'
,
'access_token'
=
>
$token
,
'v'
=
>
'5.0'
)
;
$get_params
=
http_build_query
(
$request_params
)
;
file_get_contents
(
'https://api.vk.com/method/messages.send?'
.
$get_params
)
;
//Возвращаем "ok" серверу Callback API
echo
(
'ok'
)
;




Настройка FK модуля завершена.

Вот, как эти уведомления выглядят на деле:

https://forum.antichat.xyz/attachments/27374912/

В прикрепленном архиве вы найдете файл Notipay.php, а также FreekassaModel.php, удачного использования.

Jason2222
15.09.2019, 01:54
Не понял... Все сделал по инструкции, после оплаты не идет уведомление. Группа закрыта, но сообщения открыты и есть разрешение на получение сообщения. Не могу понять причину. Call Api подтверждает все.

upd. создал отдельно через standalone приложение, проще намного.

Quasper
17.09.2019, 07:10
Хммм, одно не могу понять. Нахуя коллбэк апи настраивать? ведь используется тупо вк апи для отправки уведомлений

Jason2222
17.09.2019, 09:00
самый простой и удобный способ:

1. перейти в настройки группы и создать ключ (для сообщений)

2. использовать ключ указанном ниже коде

PHP:






$message
=
"Success."
;
$user_id
=
"1234567"
;
$request_params
=
array
(
'message'
=
>
$message
,
'user_id'
=
>
$user_id
,
'random_id'
=
>
rand
(
1000000000
,
9999999999
)
,
'access_token'
=
>
'тот самый ключ'
,
'v'
=
>
'5.45'
)
;
$get_params
=
http_build_query
(
$request_params
)
;
file_get_contents
(
"https://api.vk.com/method/messages.send?"
.
$get_params
)
;