I have "solved" problem myself. Instead of using native solution I have based my code on https://github.com/blackberry/Cascades-Samples/tree/master/paymentservice and it works very nice. Actually I like it better because I have to write less code and "bb::platform" code does not look cascades specific (I hope it will remain so). Just as help to others here what you should take into account by adopting this cascades solution for Qt app:
Don't forget to add some extra "using namespace bb::platform" or use "bb::platform::" before specific functions.
Add following line to pro file: LIBS += -lbbplatform
If you are writing QtQuick app here is how you should set Window Group id (it works for me so I guess that's correct way):
@QPlatformNativeInterface * const nativeInterface = QApplication::platformNativeInterface();
const QString windowGroupId = static_cast<const char *>(nativeInterface->nativeResourceForWidget("windowGroup", QApplication::topLevelWidgets().first()));
If someone from RIM team is reading and has to add any corrections please do it. While it is working (for me) I don't want incorrect solution to float around.