I'm always excited to take on new projects and collaborate with innovative minds.
https://krafton.my.id
A responsive agency website with database-backed enquiries and a Pesapal payment integration, built with HTML, CSS, JavaScript and PHP.
Client
Website
TZ Digital is a digital agency website presenting its services, owned platforms and delivery process through a responsive single-page experience.
I built a multi-step enquiry form with multiple service selections, custom requests, contact details and server-side validation. Submissions are stored in a database using prepared statements, with rate limiting and honeypot protection to reduce spam.
The project also includes a dedicated /pay page integrated with Pesapal API 3.0. It records payment requests, redirects customers to hosted checkout and checks transaction status through callback and IPN handlers.
The interface preserves TZ Digital's black, white and green branding, with responsive navigation and layouts for mobile devices.
TZ Digital needed a branded website that could introduce its services, capture structured project enquiries and provide a dedicated payment page. The implementation needed to remain straightforward to deploy on PHP hosting and usable on small mobile screens.
I combined a lightweight frontend with focused PHP endpoints for enquiries and payments. The enquiry flow collects service requirements and contact details in stages, with validation in the browser and on the server.
For payments, I integrated Pesapal's hosted checkout and added database records, transaction references, callback handling and IPN processing. Credentials are read server-side from environment configuration.
The public website uses HTML, CSS and JavaScript. Enquiries are submitted to a PHP endpoint that validates fields, applies spam controls and stores accepted submissions through PDO prepared statements.
The /pay endpoint validates payment details, creates a pending database record and submits an order to Pesapal. Customers complete checkout on Pesapal. Callback and IPN handlers request transaction status from Pesapal and update the local payment record.
Apache rewrite rules provide clean URLs and restrict access to configuration files, database exports and internal storage.
HTML5 and CSS3 for page structure and responsive layouts; JavaScript for navigation and form interactions; PHP and PDO for validation and persistence; MySQL for enquiry and payment records; Apache for routing and access rules; Pesapal API 3.0 for hosted checkout and transaction status queries.
Delivered a branded agency website with mobile navigation, structured enquiry capture and database persistence. Added a dedicated payment workflow with transaction references, hosted checkout integration and payment status handling.
The implementation includes SQL schemas and environment configuration examples to support deployment on PHP hosting.
Server-side validation is essential even when browser validation is present. Payment initiation and payment confirmation must be treated as separate stages, with transaction status checked through the provider's API.
Mobile testing also showed the importance of checking narrow viewports for overflow. Keeping credentials server-side and returning generic public errors helps separate operational diagnostics from the customer experience.
Your email address will not be published. Required fields are marked *