ed92991872
Agent-Logs-Url: https://github.com/dsaub/proyecto-final/sessions/49df17c8-213a-4e23-adfe-465a0104f6a3 Co-authored-by: dsaub <54474838+dsaub@users.noreply.github.com>
1.4 KiB
1.4 KiB
paypal_execute
Archivo: tienda/views.py
URL: /tienda/paypal/ejecutar/
Tipo: Vista privada (requiere autenticación)
Decorador: @login_required
Descripción
Procesa la confirmación de un pago de PayPal después de que el usuario lo aprueba en el portal de PayPal. PayPal redirige al usuario a esta URL con los parámetros PayerID y el token de la transacción.
El proceso es:
- Obtiene
payment_idde la sesión yPayerIDde los parámetros GET. - Configura y ejecuta el pago en PayPal.
- Si el pago es exitoso, llama a
create_order_from_cartpara crear el pedido. - Limpia las claves de sesión relacionadas con el pago.
- Renderiza la página de éxito con el pedido.
Firma
def paypal_execute(request: HttpRequest):
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
request |
HttpRequest |
Petición HTTP de Django. |
Parámetros GET (de PayPal)
| Parámetro | Descripción |
|---|---|
PayerID |
ID del pagador proporcionado por PayPal. |
Template (en caso de éxito)
tienda/checkout_success.html
Redirecciones
| Caso | Destino |
|---|---|
| Datos incompletos / error en el pedido | checkout |