Financial module of the exchange
Technical task: financial module of the exchange with system commission
1. User accounts
An internal balance is created for each user.
Account currency: EUR.
Balance changes only through transactions.
Account statuses: active / blocked.
2. Automatic account replenishment
Integration with the payment system stripe via API.
After payment confirmation:
funds are credited to the user's balance;
a transaction of type
depositis created.
Processing webhooks.
Protection against duplicate payments.
3. Automatic withdrawal of funds
The user submits a withdrawal request.
The minimum amount is a system parameter.
Statuses:
pending
approved
rejected
paid
At the time of the request, the amount is blocked.
Complete log of status changes.
4. Reservation and payment for domains / websites (with commission)
When reserving a lot:
the buyer's funds change to
reservedstatus;the reservation lasts for N minutes (configurable).
After agreement confirmation:
the full amount is deducted from the buyer's account;
the system commission is automatically withheld from the seller;
the seller is credited the amount minus the commission;
the commission is credited to the system account of the platform.
If the agreement is canceled:
the reservation is automatically returned to the buyer.
All actions are recorded as transactions.
5. System commission
The commission is withheld only from the seller.
Types of commission:
percentage of the transaction amount (for example, 5%);
fixed amount (optional).
Settings:
global commission in the admin panel;
ability to change without code rework.
Commission:
is displayed to the seller before agreement confirmation;
is stored separately in transactions (
system_fee).
It is prohibited to complete the transaction if:
the seller has an incorrect balance;
there was an error in calculating the commission.
6. Account history (user)
Types of operations:
deposit
withdrawal
reserve
release
sale_income
system_fee
For each operation:
date/time
type
amount
status
related lot
Filtering by period and type.
7. Statistics for the administrator
Total system balance.
Separately:
user funds;
reserved funds;
funds for withdrawal;
platform income (commissions).
Analytics:
commissions for the period;
top sellers;
exchange turnover.
View any user's account.
Export data to CSV.
8. Technical requirements
Backend: Java Spring Boot.
ACID transactions.
All amounts —
BigDecimal.Audit log of all financial operations.
Protection against race conditions.
Tests for:
deduction;
reservation;
commission;
rollback on errors.
Client's review of cooperation with Pavlo Ogurtsov
Financial module of the exchangeThank you! Everything was done quickly and professionally, I will reach out again! I recommend to everyone for collaboration.
Freelancer's review of cooperation with Oleksandr Neminuschy
Financial module of the exchangeVery pleasant collaboration. The client is always in touch, communication is clear and constructive.
-
1146 9 1 Hello. I am ready to implement a payment module for your service using Java Spring Boot. I have experience working with payment systems. Write to me, and we will discuss everything in more detail.
-
4975 41 4 1 Good day!
I am ready to implement a financial module for your exchange on Java Spring Boot, ensuring ACID transactions, protection against race conditions, and auditing of all operations. I have experience working with payment system APIs and implementing complex financial logic, including reservation, withdrawal of funds, and commission calculation.
Write to me in private messages, and we will clarify the details.
-
1323 36 0 Good day, I can implement such a module for you. I have extensive experience working with Java Spring Boot. Due to my workload, I can offer collaboration starting from February 25. I hope for cooperation!
-
350 Hello! I specialize in Java Spring Boot. I am implementing a financial module with ACID, BigDecimal, and protection against race conditions. I will set up the Stripe API, commission logic, and reservation. I guarantee the security and accuracy of transactions.
-
це у вас окремий мікро сервіс чи окрема чистина моноліту?
-
Current freelance projects in the category Java
Development of simple 2D games (Snake, Galaxy, etc.) for Google Play MarketHello! I am looking for a developer (or a beginner with a good foundation) who can create several simple classic 2D games for the Android mobile platform with subsequent publication in the Play Market.To start, one or two games need to be developed. Examples of settings and… Java, Gaming Apps ∙ 1 day 3 hours back ∙ 16 proposals |
Application developmentI wish to create a mobile application for communication, the app should have audio and video calls, group chat creation, the ability to sync with phone contacts, account settings: email binding, 2FA, phone number, the ability to customize app notifications, change the app… Java, Python ∙ 5 days 21 hours back ∙ 39 proposals |