Hola Rodrigo,
1) Cuando el alumno paga la inscripción a un curso, SQ llama al Web Service de Guaraní
POST /notificaciones-pagos para notificar que el mismo esta pago, ej transacción 1234:
{
"transaccion": 1234,
"estado": "P",
"concepto": "C"
}
2) Dicho Web Service cuando se trata de Cursos termina llamando al proceso
php/nucleo/cursadas/inscripciones/proc_insc_act_pendientes/pro_proc_insc_act_pendientes_nucleo.php, el mismo en la función
validar_puntos_de_control_inscripcion_alumno ejecuta los puntos de control. Si pasa los controles acepta la inscripción y muestra el icono verde, si falla queda pendiente y muestra el icono amarillo.
3) Se ejecuta la regla
regla_tiene_paga_insc_comision_sq (php/nucleo/_lib/reglas/regla_tiene_paga_insc_comision_sq.php) la cual valida si el curso esta pago o no.
También pueden probar en la operación
Procesar Inscripciones Pendientes a Actividades de Gestión filtrando por
Actividad y
Comisión, ejecuta el mismo proceso
php/nucleo/cursadas/inscripciones/proc_insc_act_pendientes/pro_proc_insc_act_pendientes_nucleo.php.
Como hace guarani originalmente sin ninguna regla, para chequear en sq_pagos de un alumno que el estado de una inscripción es igual a Cobrada?
Podes ver en la siguientes reglas:
regla_tiene_paga_insc_comision_sq (php/nucleo/_lib/reglas/regla_tiene_paga_insc_comision_sq.php) y
regla_tiene_paga_insc_propuesta_sq (php/nucleo/_lib/reglas/regla_tiene_paga_insc_propuesta_sq.php), hacen lo siguiente:
$estado_consumo = cobro::get_estado_consumo_externo(cobro::TIPO_CONSUMO_SUSCRIPCION, $nro_transaccion);
$resultado = !empty($estado_consumo) ? ($estado_consumo['estado'] == cobro::ESTADO_CONSUMO_PAGADO) : false;
saludos.
3