I'm just going to address the OP's problem statement in my reply below with existing and proven trends.
Your best solution is to just ring/vibrate the device and show a persistent OS notification. keep vibrating the device and/or make sounds regularly (with brief intervals say one every minute) until user sees or discards or approves your notification.
What you also need is an Error state design, read on...
Any best-practice studies available for the same?
The Best practice is available. As much as I hate to agree with Microsoft - they've been doing it right for a very long time now in Outlook. Every app has the right to have a status bar - its the place where you show application level information.

If the data submission fails, should I notify the user inside the app
when he is probably taking another order (or any other data)
Since you say its a mobile / tablet, you can use the notification panel to show a persistent notification (kinda what Skype or your voice mail does) just stick it in the OS'd notification panel. You can also show an app-level (i.e. inside the app) notification the next time the user opens or sees the app. Its annoying but it works and that's what you need.

Also see what Facebook does...

should I notify him/her at device level (something like SMS
notification)?
An SMS is over-kill so please avoid it, just vibrate the device and show any form of persistent notification. keep vibrating the device or make sounds regularly (with brief intervals) until user sees / discards your notification.
