Skip to content

Repository files navigation

Pay Techinika

Invoice payment portal using PesaPal (card payments).

Setup

  1. Install dependencies:

    npm install
  2. Copy .env.example to .env and fill required values:

    • NEXT_PUBLIC_PROJECT_URL — Supabase project URL
    • NEXT_PUBLIC_API_KEY — Supabase anon key
    • SUPABASE_SERVICE_KEY — Supabase service role key
    • PESAPAL_ENVsandbox or production
    • PESAPAL_CONSUMER_KEY — PesaPal consumer key
    • PESAPAL_CONSUMER_SECRET — PesaPal consumer secret
    • NEXT_PUBLIC_APP_URL — Application base URL
    • NEXT_PUBLIC_COMMS_WORKER_URL — Comms worker URL for sending email (e.g. http://localhost:8789)
    • WORKER_API_KEY — Shared secret sent as X-API-Key to worker endpoints
  3. Run migrations:

    supabase db push

Development

npm run dev

Build

npm run build
npm start

Project Structure

  • lib/pesapal/ — PesaPal API client (orders, IPN registration)
  • lib/services/ — Business logic (invoice search)
  • app/page.tsx — Search interface
  • app/[id]/ — Invoice detail and payment page
  • app/api/ — API routes for PesaPal and invoice lookups
  • app/components/ — Shared UI components

About

Pay Techinika Here

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages