Когда пользователь закрывает окно FAPI.UI.showPayment и не выполняет транзакцию не отрабатывает callback.
Также callback не отрабатывает если транзакция успешна, но пользователь закрыл окно крестиком.
В вопросе
Не вызывается обработчик покупки после вызова FAPI.UI.showPayment. Что делать? написано что можно взять информацию с сервера. Но если пользователь не делал транзакцию и закрыл окно то на сервер тоже ничего не прийдет.
Каким образом отличить на клиенте две ситуации:
1. Пользователь выполнил транзакцию но закрыл окно крестиком.
2. Пользователь закрыл окно крестиком и транзакцию не выполнял.
WebSockets и пуллинг сервера не поможет так как во второй ситуации никогда не будет ответа. Таймаут тоже не подойдет так как в первой ситуации пользователь может долго вводить данные кредитки.