A Spring Boot-based fintech application that integrates with the Stripe payment gateway to manage transactions and payment intents. The project follows best practices in API development, security, testing, and documentation using Swagger (Springfox).
- Introduction
- Features
- Technologies Used
- Prerequisites
- Installation
- Running the Application
- Configuration
- Swagger API Documentation
- Testing
- Troubleshooting
- License
This application is a basic fintech platform that allows users to create and manage payment intents using the Stripe API. It includes secure, RESTful endpoints to handle payment-related operations and follows modern development practices for scalability and reliability.
- Integration with Stripe for payment processing
- RESTful API for creating payment intents
- Spring Boot architecture
- Comprehensive unit and integration tests with JUnit 5 and Mockito
- Secure storage of API keys using environment variables
- Deployed with embedded Tomcat server
- Java 22
- Spring Boot 3.x.x
- Stripe API (Payment processing)
- JUnit 5 (Testing)
- Mockito (Mocking in unit tests)
- Gradle (Build tool)
Before running the application, ensure you have the following installed:
- Java 22 or later
- Gradle
- A Stripe account with API keys
- Git (for version control)
-
Clone the repository:
git clone https://github.com/yourusername/fintech-application.git cd fintech-application -
Set up Stripe API Keys:
You need to set up environment variables for Stripe API keys.
For Unix/Mac:
export STRIPE_API_KEY=your_stripe_secret_key export STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
For Windows:
set STRIPE_API_KEY=your_stripe_secret_key set STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
-
Build the project:
If you're using the Gradle wrapper, run:
./gradlew clean build
Alternatively, you can use Gradle if it's installed globally:
gradle clean build
After building the project, you can run the application with:
./gradlew bootRun
**Last Updated:** 2025-01-10 19:43:33