105 lines
3.3 KiB
Python
105 lines
3.3 KiB
Python
#!/usr/bin/env python
|
|
"""
|
|
Script para testear la configuración de PayPal
|
|
Ejecutar: python test_paypal.py
|
|
"""
|
|
import os
|
|
import sys
|
|
import django
|
|
|
|
# Configurar Django
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proyecto.settings')
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
django.setup()
|
|
|
|
from django.conf import settings
|
|
|
|
print("=" * 60)
|
|
print("TEST DE CONFIGURACIÓN DE PAYPAL")
|
|
print("=" * 60)
|
|
|
|
# Verificar configuración
|
|
print("\n1. Verificando configuración en settings.py:")
|
|
print(f" PAYPAL_MODE: {settings.PAYPAL_MODE}")
|
|
print(f" PAYPAL_CLIENT_ID: {settings.PAYPAL_CLIENT_ID[:20]}..." if settings.PAYPAL_CLIENT_ID else " ❌ NO CONFIGURADO")
|
|
print(f" PAYPAL_CLIENT_SECRET: {settings.PAYPAL_CLIENT_SECRET[:20]}..." if settings.PAYPAL_CLIENT_SECRET else " ❌ NO CONFIGURADO")
|
|
|
|
# Intentar importar paypalrestsdk
|
|
print("\n2. Verificando SDK de PayPal:")
|
|
try:
|
|
import paypalrestsdk
|
|
print(" ✓ paypalrestsdk importado correctamente")
|
|
print(f" Versión: {paypalrestsdk.__version__ if hasattr(paypalrestsdk, '__version__') else 'Desconocida'}")
|
|
except ImportError as e:
|
|
print(f" ❌ Error: {e}")
|
|
print(" SOLUCIÓN: pip install paypalrestsdk")
|
|
sys.exit(1)
|
|
|
|
# Intentar conectar a PayPal
|
|
print("\n3. Probando conexión a PayPal:")
|
|
try:
|
|
paypalrestsdk.configure({
|
|
"mode": settings.PAYPAL_MODE,
|
|
"client_id": settings.PAYPAL_CLIENT_ID,
|
|
"client_secret": settings.PAYPAL_CLIENT_SECRET
|
|
})
|
|
print(" ✓ Configuración de PayPal aplicada")
|
|
|
|
# Intentar crear un pago de prueba
|
|
print("\n4. Creando pago de prueba:")
|
|
test_payment = paypalrestsdk.Payment({
|
|
"intent": "sale",
|
|
"payer": {
|
|
"payment_method": "paypal"
|
|
},
|
|
"redirect_urls": {
|
|
"return_url": "http://localhost:8000/test-return",
|
|
"cancel_url": "http://localhost:8000/test-cancel"
|
|
},
|
|
"transactions": [
|
|
{
|
|
"amount": {
|
|
"total": "10.00",
|
|
"currency": "EUR",
|
|
"details": {
|
|
"subtotal": "10.00",
|
|
"tax": "0",
|
|
"shipping": "0"
|
|
}
|
|
},
|
|
"description": "Pago de prueba",
|
|
"item_list": {
|
|
"items": [
|
|
{
|
|
"name": "Test Item",
|
|
"sku": "test_1",
|
|
"price": "10.00",
|
|
"currency": "EUR",
|
|
"quantity": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
})
|
|
|
|
if test_payment.create():
|
|
print(" ✓ Pago creado exitosamente")
|
|
print(f" Payment ID: {test_payment.id}")
|
|
for link in test_payment.links:
|
|
if link.rel == "approval_url":
|
|
print(f" URL de aprobación: {link.href}")
|
|
else:
|
|
print(" ❌ Error al crear el pago:")
|
|
if hasattr(test_payment, 'error') and test_payment.error:
|
|
print(f" {test_payment.error}")
|
|
|
|
except Exception as e:
|
|
print(f" ❌ Error de conexión: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
print("\n" + "=" * 60)
|
|
print("TEST COMPLETADO")
|
|
print("=" * 60)
|