Hola agustinpak,
el problema es que en la primera peticion Ajax no estas enviando los datos POST, tan solo agrega esto y ya te funcionara:
Agrega lo que te puse en rojo a tu codigo javascript...
-----------------------------
$.ajax({
type: 'post',
url: localIP+'data/caja.save.php',
dataType: "json",
data: jsonZ
-----------------------------
Codigo javascript completo.
Código:
function confirmarCierreCaja() {
var resp = confirm("¿Está seguro que desea Cerrar la Caja?");
if(resp) {
$.ajax({
type: 'post',
url: localIP+'data/caja.save.php',
dataType: "json",
data: jsonZ
}).done(function( json ) {
if(parseInt(json.transaction_id)>0) {
jsonZ.caja_hora_cierre = json.caja_hora;
jsonZ.caja_fecha_cierre = json.caja_fecha;
$.post(printerIP+"kiosk.z.php", jsonZ)
.done(function( data ) {
alert("El cierre de caja se realizo con exito");
exitPos();
});
$('#mGeneralModal').modal('hide');
saveTransToRemoteDB();
} else {
alert("Ocurrió un error al cerrar la caja");
}
}).error(function(){
});
}
}