Work Services About Blog Get in touch
Case Study
TraceBook Pay

A compliant payment system,
built on their own stack.

A self-hosted checkout that connects Zoho Books, Paytrace, and InterPayments — so the client could legally recover card fees and reconcile every payment automatically.

Secure checkout SSL
Invoice #INV-2041
Subtotal$2,400.00
Card surcharge (3%)InterPayments verified$72.00
Total due$2,472.00
Powered by Paytrace · Synced to Zoho Books
Type
Custom payment integration
Stack
Nuxt, Django Ninja, PostgreSQL, Docker
Integrations
Paytrace, Zoho Books, InterPayments
Hosting
Self-hosted on client's DigitalOcean

The brief: recover card fees legally, without breaking the books

The client was losing real money to credit card processing fees and wanted to pass them on as a surcharge — but surcharging is regulated differently in every state, and getting it wrong creates compliance risk. On top of that, payments needed to stay perfectly in sync with their Zoho Books invoicing.

We built a self-hosted payment system that handles all of it: it checks surcharge legality in real time, reduces PCI scope by using hosted checkout, keeps the client's branding through a custom pre-checkout page, and reconciles every payment back to the right invoice automatically.

Every payment runs the same compliant path

1

Pull the invoice

The backend fetches live invoice details straight from Zoho Books.

2

Check surcharge legality

InterPayments determines whether a surcharge is allowed in that state.

3

Branded checkout

A Paytrace hosted checkout link is created behind a custom pre-checkout page.

4

Reconcile & log

The webhook marks the invoice paid in Zoho and logs the decision for audit.

A complete, self-hosted payment stack

Custom pre-checkout page

Hosted on the client's own domain, showing the invoice total plus any calculated surcharge — fully on-brand, so customers never feel handed off to a third party.

Django Ninja API backend

Fetches invoices from Zoho, checks surcharge legality with InterPayments, generates Paytrace checkout links, and handles every webhook response.

Automatic reconciliation

Paytrace payments are matched back to the correct Zoho invoice and marked paid automatically — no manual bookkeeping, no mismatched records.

Compliance-grade logging

Every InterPayments surcharge decision is recorded with a traceable payment history — so the client can prove compliance during any audit.

Dockerized deployment

Nuxt, Django Ninja, and PostgreSQL containerized with Docker Compose, deployed to the client's DigitalOcean infrastructure with SSL, monitoring, and automated backups.

Reduced PCI scope

By routing card entry through Paytrace's hosted checkout, sensitive card data never touches the client's servers — keeping their PCI compliance burden low.

A modern, compliant payment flow they fully own

The client now recovers credit card fees where it's legal to do so, keeps their books reconciled without manual work, and runs the entire system on their own infrastructure — no per-transaction SaaS markup, no vendor lock-in.

Because it's self-hosted and cleanly architected, it's theirs to keep and extend. We shipped it in eight weeks with 30 days of post-launch support.

8 wks
From kickoff to launch
100%
Payments auto-reconciled
The stack
FrontendNuxtJS
BackendDjango Ninja
DatabasePostgreSQL
PaymentsPaytrace
AccountingZoho Books
SurchargeInterPayments
InfraDocker · DigitalOcean

Need a payment or integration build?

We connect the tools you already use into something that just works — on your infrastructure, on your terms. Tell us what you need.