vinculacion g3 - sq luego de cobrar

Hola

Con un alumno de una propuesta tipo cursos, se inscribió (via G3W) a un curso. Se obtuvo el comprobante para el pago por ventanilla.

Luego en SQ academico con un cajero, se procedió a cobrar y aparece el pago como cobrado (ver una imagen)

Pero en la situación del alumno en G3W aparece como pendiente de pago.

Las preguntas serían:
Que está faltando configurar?
Que está faltando hacer?
O bien, donde puedo ver algun inconveniente?

Emilio


pago_en_sq.png

pago_en_sq.png

pendiente_de_pago_g3w.png

pendiente_de_pago_g3w.png

Buen día Emilio.

Chequea en la operación ‘Administrar mensajes RestHooks’ si se ejecuto y en que estado quedo el proceso ‘notificar_cobranza_g3’.

Por otro lado, podemos ver el log que se encuentra en proyectos/academico/config/log/rest. Adjuntar

Esperamos tu respuesta.
Saludos

Hola

Van las dos cosas que pedías.

Emilio


administrar_mensajes_resthooks.png

administrar_mensajes_resthooks.png

20200306.zip (3.5 KB)

Gracias por la pista.

Aparentemente el problema está en guarani con los valores de los parámetros en los procesos background.

Lo veo con mas detalle y te aviso.

Emilio

Hola Emilio. Aguardamos entonces cualquier duda que surja.

Aprovecho para comentarte, porque veo en el log un error:

"error": 422,
"mensaje": "422 Unprocessable Entity",
"descripcion": "REST_API_NUCLEO:El token ingresado no (truncated…)

Esto salga cuando el token de la suscripción creado en Núcleo no esta seteado en ‘Parámetro de sistema’ en Académico: TOKEN_UV

Hola

Aparentemente el problema está con:

En guarani3 la regla regla_tiene_paga_insc_comision_sq convoca al servicio

$response = static::get_cliente_rest($ra)->get('consumos-externos/estado', $parametros);
y luego
		//Si no existe consumo externo lo considero como pendiente
		if($response->getStatusCode() == static::ESTADO_GET_VACIO){
			return rest_decode(array('estado' => static::ESTADO_CONSUMO_PENDIENTE));
		}

		static::validar_response($response, static::ESTADO_GET_OK, __FUNCTION__);
		return rest_decode(guarani_rest::get_response_json($response));

y el último return rest_decode devuelve a la regla

array(1) { ["modo_devolucion"]=> array(1) { [0]=> string(7) "credito" } }

la regla intenta evaluarlo en base a

$resultado = !empty($estado_consumo) ? ($estado_consumo['estado'] == cobro::ESTADO_CONSUMO_PAGADO) : false;

en lo cual no existe $estado_consumo[‘estado’]

Donde está el problema?
En lo que responde sanaviron o en lo que intenta interpretar guarani?

Emilio