Me encontrado un problema con creación de pago de redsys (simple pago por redireción).

El resulta, que usuario ha intentado pagar y el pago no ha podido realizarse.

Entonces usuario a presionado “tecla atras” para volver a pagina anterior y poder pagar de nuevo, pero el resulta que el ID de pago ha duplicado.

Entonces para prevenir esto se puede usar una add_action de wordpress template_redirect


add_action( 'template_redirect', 'ant_update_header_cache' );
/**
* Prevent cache page on pay-service because when payment fail user can press back button and ID is cached;
*/
function ant_update_header_cache() {
global $post;
if( get_post_type($post) == 'pay-service') {
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0 "); // Proxies.
}
}