Skip to content

Commit

Permalink
Enviar status 200 al banco
Browse files Browse the repository at this point in the history
  • Loading branch information
Guillermo Valdes committed Jan 21, 2025
1 parent 46e08b2 commit 58b421b
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 19 deletions.
28 changes: 14 additions & 14 deletions pagos_cliente/blueprints/carros/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,15 @@ def ingresar():
abort(500, "Error desconocido con la API de pagos. " + str(error))
datos = respuesta.json()

# Verificar que haya tenido exito
# Verificar que haya tenido éxito
if not "success" in datos:
abort(400, "No se pudo crear el carro para pagar.")
if not datos["success"]:
if "message" in datos:
abort(400, datos["message"])
abort(400, "No se pudo crear el carro para pagar.")

# Validar que haya recibido el id del pago hasheado
# Validar que haya recibido el ID del pago hasheado
if not "id_hasheado" in datos:
abort(400, "No se pudo obtener el id del pago hasheado.")

Expand All @@ -75,7 +75,7 @@ def ingresar():
# Tomar por GET la cantidad
cantidad = safe_integer(request.args.get("cantidad"), default=1)

# Tomar por GET la clave del tramite y servicio
# Tomar por GET la clave del trámite y servicio
pag_tramite_servicio_clave = safe_clave(request.args.get("clave"))
if pag_tramite_servicio_clave == "":
abort(400, "No se ha proporcionado la clave del trámite o servicio.")
Expand All @@ -86,7 +86,7 @@ def ingresar():
# Tomar por GET la clave del distrito
distrito_clave = safe_clave(request.args.get("distrito_clave"))

# Tomar por GET la descripcion
# Tomar por GET la descripción
descripcion = safe_string(request.args.get("descripcion"), to_uppercase=False, save_enie=True)

# Consultar tramite-servicio por su clave
Expand All @@ -106,7 +106,7 @@ def ingresar():
abort(500, "Error desconocido con la API de pagos. " + str(error))
datos = respuesta.json()

# Verificar que haya tenido exito
# Verificar que haya tenido éxito
if not "success" in datos:
abort(400, "No se pudo consultar el trámite o servicio.")
if not datos["success"]:
Expand Down Expand Up @@ -162,7 +162,7 @@ def ingresar():
distrito_datos = respuesta.json()
distrito_nombre = distrito_datos["nombre"]

# Validar que haya recibido la descripcion
# Validar que haya recibido la descripción
if not "descripcion" in datos:
abort(400, "No se pudo obtener la descripción del trámite o servicio.")

Expand All @@ -177,7 +177,7 @@ def ingresar():
if total <= 0:
abort(400, "El total debe ser mayor a cero.")

# Dafinir en el formulario sus campos ocultos
# Definir en el formulario sus campos ocultos
form.autoridad_clave.data = autoridad_clave
form.cantidad.data = cantidad
form.descripcion.data = descripcion
Expand All @@ -204,7 +204,7 @@ def revisar(id_hasheado):
# Si viene el url del banco
url = request.args.get(key="banco_url", default="")

# Valiar el ID cifrado
# Validar el ID cifrado
pag_pago_id = descifrar_id(id_hasheado)
if pag_pago_id is None:
abort(400, "No es válido el ID del pago.")
Expand All @@ -226,15 +226,15 @@ def revisar(id_hasheado):
abort(500, "Error desconocido con la API de pagos. " + str(error))
datos = respuesta.json()

# Verificar que haya tenido exito
# Verificar que haya tenido éxito
if not "success" in datos:
abort(400, "No se pudo consultar el carro de pagos.")
if not datos["success"]:
if "message" in datos:
abort(400, datos["message"])
abort(400, "No se pudo consultar el carro de pagos.")

# Validar que se haya recibido la descripcion de la autoridad
# Validar que se haya recibido la descripción de la autoridad
if not "autoridad_descripcion" in datos:
abort(400, "No se recibió la descripcion de la autoridad.")

Expand All @@ -246,7 +246,7 @@ def revisar(id_hasheado):
if not "cit_cliente_nombre" in datos:
abort(400, "No se recibió el nombre.")

# Validar que se haya recibido la descripcion
# Validar que se haya recibido la descripción
if not "descripcion" in datos:
abort(400, "No se recibió la descripción.")

Expand All @@ -262,11 +262,11 @@ def revisar(id_hasheado):
if not "estado" in datos:
abort(400, "No se recibió el estado del pago.")

# Validar que se haya recibido la descripcion
# Validar que se haya recibido la descripción
if not "folio" in datos:
abort(400, "No se recibió el folio.")

# Validar que se haya recibido la descripcion
# Validar que se haya recibido la descripción
if not "pag_tramite_servicio_descripcion" in datos:
abort(400, "No se recibió la descripción del trámite o servicio.")

Expand Down Expand Up @@ -303,7 +303,7 @@ def revisar(id_hasheado):
if datos["estado"] == "FALLIDO" or datos["estado"] == "CANCELADO":
return redirect(url_for("resultados.resultado_fallido", folio=datos["folio"]))

# Como se tiene el URL, entregar la pagina para revisar, con el boton para ir al banco
# Como se tiene el URL, entregar la página para revisar, con el botón para ir al banco
return render_template(
"carros/revisar.jinja2",
autoridad_descripcion=datos["autoridad_descripcion"],
Expand Down
16 changes: 11 additions & 5 deletions pagos_cliente/blueprints/resultados/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""

import requests
from flask import Blueprint, abort, current_app, redirect, render_template, request, url_for
from flask import Blueprint, abort, current_app, jsonify, redirect, render_template, request, url_for

from pagos_cliente.extensions import csrf

Expand Down Expand Up @@ -43,7 +43,7 @@ def procesar_lo_que_viene_del_banco():
abort(500, "Error desconocido con la API de pagos. " + str(error))
datos = respuesta.json()

# Verificar que haya tenido exito
# Verificar que haya tenido éxito
if not "success" in datos:
abort(400, "No se pudo actualizar el carro de pagos.")
if not datos["success"]:
Expand All @@ -59,12 +59,18 @@ def procesar_lo_que_viene_del_banco():
if not "folio" in datos:
abort(400, "No se pudo obtener el folio del pago.")

# Preparar un mensaje en JSON para responder al banco con estatus 200
response = jsonify({"message": "Datos recibidos satisfactoriamente"})
response.status_code = 200

# Redirigir a la página de resultado PAGADO
if datos["estado"] == "PAGADO":
return redirect(url_for("resultados.resultado_pagado", folio=datos["folio"]))
pagado_url = url_for("resultados.resultado_pagado", folio=datos["folio"])
return redirect(pagado_url), response.status_code

# De lo contrario, el reultado es FALLIDO
return redirect(url_for("resultados.resultado_fallido", folio=datos["folio"]))
# De lo contrario, redirigir a la página de resultado FALLIDO
fallido_url = url_for("resultados.resultado_fallido", folio=datos["folio"])
return redirect(fallido_url), response.status_code


@resultados.route("/resultado/pagado", methods=["GET", "POST"])
Expand Down

0 comments on commit 58b421b

Please sign in to comment.