Ir al contenido principal

Solicitudes de Pagos(Validar Solicitud (1)) - [validatePaymentRequest]

🧾 Descripción

Servicio encargado de validar o rechazar una Solicitud de Pagos en el ERP.
Actualiza el campo estado_de_validación del documento Solicitud de Pagos y devuelve una respuesta indicando si la operación fue exitosa.

El servicio no procesa lógica adicional más allá de actualizar el estado del documento y devolver el resultado.


🚀 Endpoint

PUT /validate-payment-request

📩 Recibe parámetros mediante el body del Request (Laravel Request):

{ "name": "SP-00012", "status": "Validado" }

🔐 Seguridad

Requiere autenticación contra el ERP, manejada internamente mediante: $this->general->ServiceErp()

No requiere headers adicionales desde el lado del cliente.


🧠 Flujo del Servicio (explicación real)

  1. Recibe:

    • name → ID del documento (Solicitud de Pagos)

    • status → Puede ser "Validado" o "Rechazado"

  2. Determina internamente mensajes para usuario según status:

    • "Validado" → aprobar

    • "Rechazado" → rechazar

  3. Construye el body con el nuevo estado:


    ["estado_de_validación" => $request->status]
  4. Envía:


    PUT /resource/Solicitud de Pagos/{name}
  5. Si el ERP responde con error → devuelve mensaje indicando fallo al aprobar o rechazar.

  6. Si la operación es correcta → responde con:

    • valor = true

    • mensaje: "Solicitud de Pago Aprobado/Rechazado correctamente"

    • data → respuesta del ERP


📥 Request Body (Laravel)

{ "name": "string (ID del documento)", "status": "Validado | Rechazado" }

📤 Response 200 – Ejemplo (Aprobado)

{ "valor": true, "msn": "Solicitud de Pago Aprobado correctamente", "data": { "name": "SP-00012", "estado_de_validación": "Validado" } }

Ejemplo (Rechazado)

{ "valor": true, "msn": "Solicitud de Pago Rechazado correctamente", "data": { "name": "SP-00012", "estado_de_validación": "Rechazado" } }

❗ Posibles Errores

1. Error durante el PUT

{ "valor": false, "msn": "Surgió un error al aprobar la Solicitud de Pago", "data": {} }

2. El ERP responde con "valor = false"

{ "valor": false, "msn": "Surgió un error al rechazar la Solicitud de Pago", "data": { ...respuesta del ERP... } }

3. Excepción inesperada

{ "valor": false, "msn": "Surgió un error al aprobar la Solicitud de Pago", "data": "ErrorException detail" }

📚 Schema del documento afectado

Solicitud de Pagos (PUT)

Campos utilizados: { "estado_de_validación": "string" }


🗃 Lógica en pseudo-código

name = request.name status = request.status body = { estado_de_validación: status } try: response = PUT "Solicitud de Pagos/{name}" with body except: return error message if response.valor == false: return error message return success response with custom message