After reading BrunoHs answer I came up with another solution that feels best to me:
For steps where a retry is possible without jumping back, I silently to that and keep the progress indicator spinning.
If an error occurs during the critical third step I just show an error message and encourage the user to try again.
I am wondering if it is really necessary to communicate the technical steps to the user, since the user probably only want's the app to work.
What if you do not communicate these steps but rather tell the user what to do. In my answer I assume that each step is only very short.
You could show a progress indicator (like a progressbar, filling circle or the ...
Inspired by the comments I came up with the following solution:
All steps that have to be reverted / re-executed change state to "will retry" which will be indicated by a circular double arrow (e.g. an "autorenew" icon)
The label of such items will start with the try and the max try (e.g. 2/5 third step)
This way, the user still has an ...
(re)Captcha is just a tool you are using to identify if the user is human and users don't care how you try to do that as long as it isn't bugging them too much. The tool itself doesn't mention it is called reCaptcha to the user (only as a disclaimer), it just says "Select all squares with traffic lights". Most people don't know why it is needed or ...