Для робокассы у себя я сделал так:
В админке - настройки/настройки магазина/заказы - ставим галочку на "Регистрация пользователя после создания заказа"
в настройках Success Url - указываем http: //ваш домен/shop/profile#history_order (метод выбираем - GET)
для Fail Url можно указать то же самое, все равно там будет статус "не оплачен" пока ручками не выставим.
В итоге, после оплаты если нажать "вернуться на сайт" покупатель попадает на свою страничку, вкладку "История заказа"
Во всяком случае такое "кривое решение" все же лучше ошибки 404, или еще что нить подобное. По поводу того, что покупатель видит статус не оплачено, после того как вроде бы уже оплата прошла, ну так ничего страшного, всегда можно сослаться, что статус обновляется не сразу.