Engineering

Full Stack Developer

Build the platform end to end, from the payment path and the merchant dashboard to the hosted checkout customers actually pay on.

About the role

HansaPay is a small engineering team, so this is a genuinely full stack role. In one week you might work on the service that authorises and settles a payment, the dashboard a merchant uses to reconcile it, and the checkout page their customer pays on.

Payments are unforgiving. A bug here does not show up as a broken layout, it shows up as someone's money in the wrong place. We would rather ship a week later than ship something we would not trust with our own money.

What you'll do

  • Build and operate services on the payment path: authorisation, capture, refunds and settlement.
  • Build merchant-facing product in TypeScript and React, from the dashboard to hosted checkout.
  • Design the API surface our merchants integrate against, and keep it small and predictable.
  • Handle retries, idempotency and reconciliation correctly, so the ledger balances to the cent.
  • Take part in an on-call rotation for a platform that has to stay up.

What you'll bring

  • Solid experience building and running production systems, front and back.
  • Strong TypeScript, and comfort in at least one backend language and a relational database.
  • Good instincts for failure handling, observability and data modelling.
  • Clear writing. We make decisions in documents, not meetings.

Nice to have

  • Experience in payments, banking or another domain where correctness is the bar.
  • Exposure to card network message formats, or to integrating with acquirers and banks.

How we work

We are a small, remote team working Hong Kong hours. You will work directly with the founders, own whole areas of the product, and see what you build go live quickly.

Interested?

Send your CV or LinkedIn profile, and a few lines about why this role interests you. We read every application and reply to everyone.

Apply by email