Iyzico Payment Integration
I implemented the payment integration with Iyzico for the eOfis company.
Project Description
I successfully integrated the Iyzico payment infrastructure for the company eOfis, developing a fully functional end-to-end payment system. As part of this integration, I designed a user-friendly web interface using HTML, CSS, and JavaScript to ensure a smooth payment experience. On the backend, I used .NET to develop services that handle payment transactions. I securely stored users' saved card information as tokens in a SQL database to facilitate easier future payments. I created API endpoints that allow users to view their saved cards, delete cards, and initiate payments using any of their stored cards. Additionally, I implemented endpoints to handle the response messages sent from the Iyzico API upon successful payments, ensuring seamless and reliable transaction flows for all users.
To increase the reliability and security of the payment system, I applied a series of validation rules when users enter their card details. These validations included ensuring that the cardholder's name was entered in a first name + last name format, checking the validity of the card number using the Luhn algorithm, displaying warnings if the expiration date was in the past, and requiring the CVV code to be at least three digits. Moreover, the card name field was made mandatory and could not be left empty. All validations were implemented both on the frontend for instant user feedback and on the backend to prevent malicious or invalid data submissions. These controls helped to reduce user errors and secure the overall payment process.
On the backend, I also built a robust SQL structure to support automated operations. By creating custom SQL functions and views, I was able to dynamically generate a list of users with outstanding balances. Using this list, I developed an automatic payment system that attempts to collect these dues on a daily basis. I integrated this logic with a scheduling system using Hangfire and a custom-built Schedule API in .NET, allowing the system to automatically trigger payment requests twice a day. Additionally, I wrote a detailed stored procedure to generate regular reports summarizing debts and collections. These reports were automatically sent to authorized personnel at scheduled intervals. Through this project, the manual workload was significantly reduced, and the entire payment workflow became automated, accurate, and sustainable.