Payments & Integrations Engineer

I build payment systems that reconcile themselves.

For 2.5 years I owned payments at Nivoda, a B2B marketplace selling into 70+ countries: Stripe, Airwallex and NetSuite integrations end to end, and a reconciliation engine that replaced a fully manual process. Node.js, TypeScript, PostgreSQL, Kafka.

Get in touch Download CV Remote from Pakistan · EU & US hours
20,000+payments a week through systems I owned
70–80%of reconciliation automated, from zero
10+currencies captured and settled
3providers integrated: Stripe, Airwallex, NetSuite

Selected work · Nivoda, 2023–2026

Case studies

Four projects from the payments side of a high-volume marketplace. Each one started with something a person had to do by hand.

How reconciliation works

Provider events arrive through webhooks, go onto a queue, and the engine matches each payment to open invoices. Anything it can't settle goes to people, with an alert.

Stripe · Airwallexwebhooks, callbacks Kafka queueidempotent events Reconciliationenginepayment → invoices Auto-settledinvoices paid → NetSuite Manual dashboardAR team alerted 70–80% the rest
Airwallex · Kafka · Datadog
integrationarchitecture

Airwallex integration and automated reconciliation

Problem
Reconciliation was done entirely by hand, and payment processing was tangled into invoice and order code inside the monolith. It was hard to monitor and hard to scale.
What I built
  • Integrated Airwallex as a payment provider and built automatic matching between payments and invoices.
  • Moved payment processing out of the monolith into its own service, with Kafka events between the payment, invoice and order flows.
  • Generated Airwallex payment links automatically when an order is created, and published events for downstream services.
  • Extended the service to Airwallex Global Accounts and multiple Airwallex entities.
  • Added Datadog monitoring with Slack alerts for the payment service.

ResultThe manual reconciliation process was retired, and payments became a service the team could watch and scale on its own.

Node.js · PostgreSQL
reconciliationedge cases

Reconciliation V2: one payment, many invoices

Problem
Customers often paid several invoices in one transfer into a global account. Combined with partial payments and inconsistent callbacks, these still needed a person to sort out.
What I built
  • A second version of the engine that settles a single payment across multiple invoices, by checking due invoices against settled amounts.
  • Handling for more callback scenarios and payment edge cases.
  • A manual reconciliation dashboard for anything the engine can't settle.
  • Alerts to the accounts receivable team, so unresolved payments get flagged.

Result70–80% of reconciliation now runs automatically. The rest reaches a person with context.

Stripe · Datadog
expansionreliability

Stripe expansion to the UAE and Saudi Arabia

Problem
Stripe was live in the US, UK and EU. Launching in two new regions meant supporting local payment methods and being ready for a jump in volume on day one.
What I built
  • Region-specific payment methods on top of the existing Stripe integration.
  • Capacity work ahead of launch for the expected payment volume.
  • Datadog monitoring and Slack alerts so failed payments surfaced within minutes.

ResultThe two regions added hundreds of payments a day.

NetSuite
accountingdata integrity

NetSuite accounting sync

Problem
Every payment had to reach the accounting system accurately, and our own records had to agree with it.
What I built
  • A sync that, for each payment, creates it in NetSuite, confirms the invoice exists there, marks the invoice paid, and only then updates our database.
  • Notifications on every success and failure, so finance could see where each payment stood.

ResultPayments reach accounting through one checked path, and failures are visible instead of silent.

Alongside these I handled production payment support: investigating why individual Stripe and Airwallex payments failed and explaining the cause to customers, plus performance fixes and features across the main platform.

Experience

Where I've worked

Nov 2023 – May 2026

Software Engineer II · Nivoda

B2B diamond and gemstone marketplace serving 10,000+ retailers. Owned payments and reconciliation; worked daily with product, finance, accounting and operations in a fully remote team.

Oct 2022 – Oct 2023

Software Engineer · Deutics Global

Full-stack work on live products with Node.js, Express, React and MongoDB. Built REST APIs and payment gateway integrations, deployed on AWS with CI/CD.

2019 – 2023

B.S. Information Technology · University of the Punjab

Backend

Node.js, TypeScript, Express, GraphQL, REST, Kafka, Redis

Data

PostgreSQL, query optimisation, zero-downtime migrations, MongoDB

Payments

Stripe, Airwallex, NetSuite, webhooks, idempotency, multi-currency settlement

Infra

AWS, Docker, CI/CD, Datadog, NGINX

Contact

Building something that moves money?

I'm looking for remote roles at fintech and payments-heavy startups, full-time or contract. Email is the fastest way to reach me.