На партнерском сайте пользователь заполняет и отправляет форму с параметрами order, email и amount на сайт оплаты заказа (в order хранится номер заказа).
После успешной или неудачной транзакции сайт оплаты перенаправляет пользователя по ссылке вида: [домен]/result?order=[номер заказа]&status=[success|refusal]. На основании этой ссылки на партнерском сайте заказ отмечается оплаченным или отмененным.
Что в этой логике я делаю не так? Есть ощущение что безопасность тут хромает, так как если пользователь знает номер заказа, то он может вручную через GET запросы отметить заказ как "оплаченный". Как обычно такое делают?
Обычно, в таблицу с заказами, вносится также токен для этого заказа. Генерируется он с нескольких пользовательских параметров. Если клиентская машина не меняется за период оплаты, то ничего не стоит сгенировать тот же токен еще раз.
Продвижение своими сайтами как стратегия роста и независимости