← Live feed

Payments Backend Engineer: Authorize.net, Ledgers and Reconciliation (Node.js/NestJS), Fixed Price

Budget
$10000.0
Contract
FIXED
Client
South Africa · ★ 3.26 (7)
Live feed
Upwork

typescript, postgresql, rabbitmq, node.js, nest.js, authorize.net, payment-gateway-integration

Preferred qualifications

  • Experience: Expert
We're building a modern platform around a legacy Windows point-of-sale system (VB6 on SQL Server): a cloud backend, customer apps, merchant and admin portals, Authorize.net online payments and in-store card terminals. A tech lead owns the overall backend; separate developers own the store connector, terminals, apps and QA. You will own the payments side of the backend. What you'll build: - Authorize.net Accept Hosted checkout, webhooks and transaction lookups (no card data stored) - A payment ledger with idempotency so every payment posts exactly once, including retries and duplicate webhooks - Safe recovery when a payment result is unknown (timeouts, outages) - Partial and remaining-balance payments, refunds, voids and daily reconciliation reports - Clear audit logs and tests for every payment state Stack: Node.js/NestJS with TypeScript and PostgreSQL. Experience with Stripe or similar gateways also counts if you have done ledgers and reconciliation properly. Budget: fixed price of USD 10,000 for the role, paid in milestones as each phase is accepted, with the final milestone paid after the in-store pilot is signed off. Timeline: about 30 hours per week for roughly 5 months, starting December. To apply, tell us: 1. A production payment system you built (gateway, ledger, reconciliation) and what your role was 2. Confirm you can take the role at the fixed USD 10,000, paid by milestone 3. How many hours per week you can commit from December Proposals without specific payments experience will not be considered.
Open job

AI proposal draft

Generate a short cover letter to copy into the offer. Says you are interested and ready to work.

Sign in to generate an AI proposal draft.

Log in