Una aplicación Spring Boot que integra la pasarela de pago Stripe con un frontend Vaadin.
Este proyecto demuestra una aplicación de procesamiento de pagos construida con Spring Boot que utiliza Stripe como pasarela de pago y Vaadin para la interfaz de usuario. La aplicación permite a los usuarios realizar pagos a través de un proceso de checkout y visualizar los resultados del pago.
- Java 21
- Spring Boot 3.3.6
- Vaadin 24.5.5
- API de Stripe (v28.1.0)
- PostgreSQL
- Docker Compose
- Maven
├── src
│ ├── main
│ │ ├── frontend
│ │ │ ├── generated
│ │ │ ├── themes/my-app
│ │ │ └── index.html
│ │ ├── java/com/geovannycode/app
│ │ │ ├── domain
│ │ │ │ ├── model
│ │ │ │ │ ├── Currency.java
│ │ │ │ │ ├── PaymentEntity.java
│ │ │ │ │ ├── PaymentRequest.java
│ │ │ │ │ └── PaymentResponse.java
│ │ │ │ ├── PaymentRepository.java
│ │ │ │ └── PaymentService.java
│ │ │ ├── web
│ │ │ │ ├── exception
│ │ │ │ │ └── GlobalExceptionHandler.java
│ │ │ │ └── view
│ │ │ │ ├── CheckoutView.java
│ │ │ │ ├── MainLayout.java
│ │ │ │ └── ResultView.java
│ │ │ └── AppStripeApplication.java
│ │ └── resources
│ │ └── application.yaml
│ └── test
│ └── java/com/geovannycode/app
├── docker-compose.yaml
├── pom.xml
└── README.md
- Integración con la API de pagos de Stripe
- Frontend Vaadin responsive
- Flujo de procesamiento de pagos
- Gestión de entidades de pago con JPA
- Manejo global de excepciones
- Soporte de Docker Compose para desarrollo local
- JDK 21
- Maven
- Docker y Docker Compose (para desarrollo local)
- Cuenta de Stripe y claves API
-
Clonar el repositorio
git clone https://github.com/tuusuario/app-stripe.git cd app-stripe -
Configurar tus claves API de Stripe en
application.yamlstripe: api-key: tu_clave_secreta_de_stripe webhook-secret: tu_secreto_de_webhook_de_stripe
-
Configurar los ajustes de tu base de datos PostgreSQL en
application.yamlo utilizar la configuración de Docker Compose proporcionada.
mvn spring-boot:rundocker-compose upLa aplicación estará disponible en http://localhost:8080
mvn clean package -Pproductionmvn test/- Punto de entrada principal de la aplicación (UI de Vaadin)/checkout- Página de checkout para procesar pagos/result- Página que muestra el resultado del pago
La aplicación utiliza una base de datos PostgreSQL con la siguiente entidad principal:
PaymentEntity: Almacena información de pago incluyendo estado, monto y moneda.
Geovanny Code

