Ошибка при регистрации QR-кода через API

Avatar
  • обновлен
  • На рассмотрении

Настраиваем интеграцию интернет-магазина для работы с СБП через API tochka.com 

Пока используем тестовый url  и токен working_token. При любых запросах, например, регистрация QR-кода, в ответ получаем ошибку { "code": "500", "id": "50e7130b-2198-4b25-bb54-b80b4ffc052a", "message": "Что-то пошло не так", "Errors": [ { "errorCode": "Something going wrong", "message": "ModelMetaclass object argument after ** must be a mapping, not list", "url": "http:\/\/enter.tochka.com\/docs\/redoc" } ] }

С чем это может быть связано? Описания ошибок, к сожалению, не удалось найти. 

Или возможно уже есть готовая библиотека php для работы с СБП?

Avatar
Команда Точки Администратор
Цитата от Александр Михневич

Собственно, в этом и вопрос - как узнать, что прошла оплата на такой странице? ) https://qr.nspk.ru/AS1000670LSS7DN18SJQDNP4B05KLJL2?type=01&bank=100000000001&sum=10000&cur=RUB&crc=C08B

Александр, унесём вопрос коллегам и вернёмся скорее всего уже завтра.

Чуть выше делились контактами команды API, если понадобится совет, можно сразу же писать им public-api@tochka.com :)

Avatar
Команда Точки Администратор
Цитата от Команда Точки

Александр, унесём вопрос коллегам и вернёмся скорее всего уже завтра.

Чуть выше делились контактами команды API, если понадобится совет, можно сразу же писать им public-api@tochka.com :)

Чтобы узнать статус QR-кода, нужно вызвать метод Get Qr Codes Payment Status: https://enter.tochka.com/doc/v2/redoc#operation/get_qr_codes_payment_status_sbp__apiVersion__qr_codes__qrc_ids__payment_status_get

Этим методом сможете получить статус платежа по QR-коду. Если написано Accepted - это значит что операция завершена успешно и оплата по QR-коду прошла.

Описание возможных статусов платежа:

NotStarted - операции по QR-коду не существует

Received - операция в обработке

InProgress - операция в обработке

Accepted - операция завершена успешно

Rejected - операция отклонена

Avatar
trin4ik
Цитата от Александр Михневич

Собственно, в этом и вопрос - как узнать, что прошла оплата на такой странице? ) https://qr.nspk.ru/AS1000670LSS7DN18SJQDNP4B05KLJL2?type=01&bank=100000000001&sum=10000&cur=RUB&crc=C08B

Вам предлагают после "внесения" QR раз в секунду (чтобы без задрежки для клиента) опрашивать сервер банка по вышеописанному (сотрудником точки) методу, чтобы получить результат. это накладно, но если вы мелкий бизнес без своих разрабов, это проще, чем делать вдусторонние апи.

Т.е. условно, вам в момент создания qr надо давать команду back-end своему, что в течении минуты, надо раз в секунду, опрашивать статус QR кода.

Простым языком:
Вы своему клиенту говорит, что надо заплатить не вам, а Пете. Клиент платит Пете, и вместо того, что спрашивать клиента, вы раз звоните Пете и справшиваете: "Ну что, пришли деньги?", "Ну что, пришли деньги?", "Ну что, пришли деньги?", "Ну что, пришли деньги?", "Ну что, пришли деньги?"

Если у вас небольшой бизнес и нет постоянного разраба в штате, это хороший выход, ибо обратные апи предполагают постоянный мониторинг со стороны ИТ специалиста.

Avatar
mikhailr
Цитата от trin4ik

Вам предлагают после "внесения" QR раз в секунду (чтобы без задрежки для клиента) опрашивать сервер банка по вышеописанному (сотрудником точки) методу, чтобы получить результат. это накладно, но если вы мелкий бизнес без своих разрабов, это проще, чем делать вдусторонние апи.

Т.е. условно, вам в момент создания qr надо давать команду back-end своему, что в течении минуты, надо раз в секунду, опрашивать статус QR кода.

Простым языком:
Вы своему клиенту говорит, что надо заплатить не вам, а Пете. Клиент платит Пете, и вместо того, что спрашивать клиента, вы раз звоните Пете и справшиваете: "Ну что, пришли деньги?", "Ну что, пришли деньги?", "Ну что, пришли деньги?", "Ну что, пришли деньги?", "Ну что, пришли деньги?"

Если у вас небольшой бизнес и нет постоянного разраба в штате, это хороший выход, ибо обратные апи предполагают постоянный мониторинг со стороны ИТ специалиста.

В таком решении нет ничего плохого, только один нюанс - если вы крупная компания и у вас большой поток платежей, то ваши запросы статуса могут принять за ddos и отрубить доступ - обязательно надо делать регламент, как часто можно опрашивать статус и в течении какого времени.