Большинство банков требуют, чтобы вы предоставили уникальный идентификатор заказа, поэтому невозможно взимать плату дважды за один и тот же заказ.
Теперь, если вы хотите предотвратить повторную отправку, стандартным способом будет Шаблон Post / Redirect / Get . Вы также можете комбинировать это с отключением кнопки отправки с помощью JavaScript.
Вы бы получили:
- order_form.aspx , генерирующий уникальный идентификатор заказа и отправляющий POST на
- process_order.aspx выполняет фактическую работу, очищает корзину, а затем перенаправляет на
- thankyou.html
Теперь, если пользователь щелкает по перезагрузке, только статическая перезагрузка thankyou.html
. Если он решит щелкнуть назад, вернитесь к order_form.aspx
, но его корзина уже пуста. Если он каким-то образом будет кэширован, он будет кэширован с тем же идентификатором заказа, поэтому нет риска дважды взимать плату там.