Чего-то не врубаюсь без куска кода. @adw0rd вроде понял о чём речь, потом у
него спрошу :)
@mathete, например схема платежной системы: форма на сайте => редирект на платежник => check query на твой сервер => страница оплаты => payment transaction commit.
в твоем check
def check(request):
invoice = get_invoice()
assert invoice.status == 'new', _("You can pay only new invoices")
check_other_params()
как правило, такие же штуки аля check query хуй кладут на ответ, если там не OK(response body) или 200 код ответа.
Ну это про платежку, а вообще проблема которая в верстке проекта не позволяет юзеру найти ссылку на такой запрос на сервер, но его можно "подделать" руками например (curl/wget/etc). На такие запросы надо просто отвечать "Ой бля!", и нет смысла долго рассказывать (custom error page) что не так все таки произошло.