Как в intercassa происходит проверка платежа?

Работаю с intercassa (https://new.interkassa.com/) (по юридическим причинам другое не подходит). Собственно такой вопрос. Просмотрел их апи и там идет следующий момент, у нас есть страница взаимодействия:

мойсайт.ru/intercassa/success/ - к примеру адрес страницы, куда будет попадать пользователь при успешном платеже.
мойсайт.ru/intercassa/error/ - к примеру адрес страницы, куда будет попадать пользователь при не успешном платеже.
мойсайт.ru/intercassa/wait/ - к примеру адрес страницы, куда будет попадать пользователь при ожидании платежа.

И тут сразу возникло 2 вопроса:

1) К примеру пользователь заходит, оплачивает товар и не жмет кнопку вернуться на сайт, а закрывает окно интеркассы (к примеру инет пропал, просто закрыл, комп вырубился, свет пропал в общем форс-мажор)
как можно проверить платеж в таком случае ?
Как я понял стороннего апи для проверок у них нет.

2) вопрос из той-же области. Если пользователь оплачивает счет с карточки и попадает на страницу ожидания, как потом узнать прошел платеж или нет ?
  • Вопрос задан
  • 4821 просмотр
Пригласить эксперта
Ответы на вопрос 2
так вы прочли документацию или нет? там все описано. Вас после оплаты уведомляют прошел ли платеж или нет, без возвратов.

пункты 2.5, 3.4
Ответ написан
Комментировать
nepster-web
@nepster-web Автор вопроса
Во имя аллаха:

Итак нужно получить статус платежа. Я пробую:

$ik_data = array();
       
       $ik_data['ik_co_id'] = 'мой номер кассы';
       
       $ik_data['ik_am'] = '0.01'; // сумма платежа
       
       $ik_data['ik_inv_st'] = 'process';
       
       $ik_data['ik_sing'] = '';
       
       $ik_data['ik_int'] = 'json';
        
        
       $get_string = http_build_query($ik_data, '', '&');
       

       $interkassa_contents = file_get_contents("https://sci.interkassa.com/?{$get_string}");
       $interkassa_contents = json_decode($interkassa_contents, true);

       print_r($interkassa_contents);


Ответ от сервера:
[resultCode] => 107
    [resultMsg] => Parameter "ik_pm_no" is empty


И так он просит данные, до тех пор пока не получается что то такое:

$ik_data = array();
       
       $ik_data['ik_co_id'] = 'мой номер кассы';
       
       $ik_data['ik_pm_no'] = '81';
       
       $ik_data['ik_am'] = '0.01'; // сумма платежа
       
       $ik_data['ik_pw_via'] = 'visa_liqpay_merchant_eur';
       
       $ik_data['ik_desc'] = '';
       
       $ik_data['ik_cur'] = 'eur';
       
       $ik_data['ik_act'] = 'process';
       
       $ik_data['ik_act'] = 'process';
       
       $ik_data['ik_int'] = 'json';

Потом создает платеж.

В тех поддержке мне написали про печать.

foreach ($_POST as $key => $value) {
if (!preg_match('/ik_/', $key)) {
continue;
}
$data[$key] = $value;
}
...


$_POST массива у нас нет. Обязательно условие проверить платеж без входящих данных. Что должен содержать $_POST, что бы я мог его сформировать?

Еще раз. Задача проверить платеж.
К примеру пользователь оплатил счет (номер счета 10, сумма 100)

Нужно скриптом проверить счет под номером 10 и узнать успешно прошел платеж или нет. Вот мучаюсь с этой проблемой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:21
1200 руб./в час
26 апр. 2024, в 10:10
1000 руб./за проект