Skip to content
CopyPay

CopyPay

Tasks & responsibilities

Build the payment-link platform end to end: backend, payments flow, subscriptions, and admin.

CopyPay is a payment-link platform I built and run as my own SaaS. Anyone can claim a username, add their bank and e-wallet accounts, and share a single public page where people can pay them.

Background

Getting paid online in Indonesia often means juggling several e-wallets and bank accounts, then sending the right details to each person by hand. CopyPay turns that into one shareable link. I built it on my own as a side project and have run it at copypay.id since October 2025.

The Challenge

  • Let anyone reserve a unique username and claim a public payment page
  • Check username availability as people type without letting the check be abused
  • Offer paid plans that people pay by bank transfer, with each payment checked before the plan starts
  • Show the admin how the platform is growing: users, active pages, and views

Solution

I built the whole thing in Laravel. Users sign up with email or Google, reserve a username, add their bank and e-wallet accounts, and share their page. Both paid plans add more payment accounts, and Juragan adds a second profile; users upload a payment proof and an admin approves it. An admin area handles users, payments, the blog, and site settings, with a cached analytics dashboard.

Technical Implementation

Tech Stack

  • Backend: Laravel 13, PHP 8.4, Sanctum, Socialite
  • Frontend: Blade, Alpine.js, Tailwind CSS, Quill
  • Build and delivery: Vite, automated deploys with rollback and nightly backups
  • Database: MySQL

Key Features

  • Username reservation with rate-limited availability checks, and redirects when a username changes
  • Public payment pages for 32 banks and 8 digital wallets, from GoPay and OVO to PayPal
  • A free Gratis plan plus paid Rintis and Juragan plans, billed monthly or annually, with admin approval of payment proofs
  • Payment proofs viewable through signed, expiring links
  • Google sign-in, email-change confirmation, and self-service account deletion
  • Profile-view analytics and a cached admin dashboard
  • A blog and pages editor, plus a generated sitemap

Screenshots

CopyPay landing page with the headline and a preview of a public payment page

The landing page, with a preview of a payment page

A public payment page listing BCA, GoPay, DANA, and OVO accounts, each with a copy button

A public payment page: visitors pick an account and copy the number

Profile editor listing payment accounts with visibility and edit controls beside a live preview

The profile editor, with a live preview of the public page

Admin payment approval queue listing uploaded payment proofs awaiting review

The admin queue of payment proofs awaiting approval

Admin review screen showing a payment's details beside the uploaded proof, above the approve and reject buttons

Reviewing a payment proof before approving or rejecting it

The landing page, with a preview of a payment pageA public payment page: visitors pick an account and copy the numberThe profile editor, with a live preview of the public pageThe admin queue of payment proofs awaiting approvalReviewing a payment proof before approving or rejecting it
1 / 5

The screenshots above use fictional demo data.

Results

  • Live at copypay.id since October 2025
  • 54 people signed up and 52 payment pages active, as of September 2026
  • More than 3,600 page views across those pages
  • A clean separation between public pages, paid plans, and the admin area

Work with me

Interested in something like this?

Tell me about your project and I'll get back to you with how I can help.