Hola @oberkom,
Si, en la premium se pueden seleccionar varios tipos e incluso poner una totalmente personalizada mediante un filtro.
Saludos
Hola otra vez 🙂
He visto en el plugin que podemos usar el filtro “redsys_modify_data_to_send” para sobreescribir el transaction id… pero previamente lo has guardado en un transient:
set_transient( 'redys_order_temp_' . $transaction_id2, $order_id, 3600 );
¿ Si lo modifico después de guardar el transient, hará que algo deje de funcionar ?
Saluts !
Si, no se marcará como pagado @oberkom, Se guarda en un transient para recuperar el valor real. Esto es porque si no se hace así, se produce un error en pedidos con numeración superior a 1.000 millones. Parece un numero muy elevado (y lo es) pero es que hay comercios que elevan la numeración de forma artificial y hay que guardarlo para que no haya problemas.
Si abres un ticket miramos todo y vemos como hacerlo.
Saludos
No sé donde se abren los tickets :_( imagino que después de cambiar el transaction_id tendré que crear el transient correspondiente y ya debería funcionar…
hago alguna prueba a ver ):
Santi FC
Pues funciona… dejo el código aquí para futuros pretendientes:
// Modify José Conti Plugin to send own
add_filter( 'redsys_modify_data_to_send', __NAMESPACE__ . '\redsys_modify_data_to_send');
function redsys_modify_data_to_send( $redsys_data_send ) {
$old_transaction_id2 = $redsys_data_send[ 'transaction_id2' ];
$order_id = get_transient( 'redys_order_temp_' . $old_transaction_id2 );
// get Order ID
$order = wc_get_order( $order_id );
// get order name
$new_order_id = $order->get_order_number();
set_transient( 'redys_order_temp_' . $new_order_id, $order_id, 3600 );
$redsys_data_send[ 'transaction_id2' ] = $new_order_id;
return $redsys_data_send;
}
saluts !!