docs: add full documentation for all functions in tienda/views.py
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>
This commit is contained in:
committed by
GitHub
parent
47ea00c822
commit
ed92991872
@@ -0,0 +1,46 @@
|
||||
# `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:
|
||||
|
||||
1. Obtiene `payment_id` de la sesión y `PayerID` de los parámetros GET.
|
||||
2. Configura y ejecuta el pago en PayPal.
|
||||
3. Si el pago es exitoso, llama a [`create_order_from_cart`](./create_order_from_cart.md) para crear el pedido.
|
||||
4. Limpia las claves de sesión relacionadas con el pago.
|
||||
5. Renderiza la página de éxito con el pedido.
|
||||
|
||||
## Firma
|
||||
|
||||
```python
|
||||
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` |
|
||||
Reference in New Issue
Block a user