Столкнулся с такой же проблемой, отвечу несмотря на давность вопроса, возможно поможет не наступить на грабли еще раз.
Даже если уверены, что отвечаете правильно как в примере - проверьте какой заголовок присылаете Content-Type. Он должен быть равен application/xml.
При открытии окна платежа производится попытка сделать платеж. Если он не удается по мнению OK, то показывается окно с кнопкой Заказать. После того, как отдал нормальный заголовок все стало корректно списываться и перестал приходит двойной callback.