Node.js AirPay Payment Integration
Budget: ₹600 – ₹1,500 INR
I’m adding AirPay to the existing Node.js backend and need a clean, production-ready module that handles straight-forward payment processing. The service must accept credit/debit cards, digital wallets, and bank transfers through AirPay’s API, expose clear endpoints for initiating a charge, capture the asynchronous callback, and return the final transaction status to the frontend.
The codebase is an Express app written in modern JavaScript. Please wire the AirPay SDK (or raw REST calls if you prefer) into a dedicated service layer, include middleware for request validation and error handling, and document every environment variable or secret the system requires. Unit tests covering happy-path and typical failure scenarios are essential, and I’ll run test credentials in a sandbox before signing off.
Deliverables
• Fully commented Node.js module / service
• REST routes (initiate, verify, refund placeholder) wired into Express
• Sample curl/Postman collection and concise setup guide
• Jest (or Mocha) tests showing successful card, wallet, and bank-transfer flows
Acceptance criteria
A sandbox charge for each payment method must complete and the callback must update order status without manual intervention.
The codebase is an Express app written in modern JavaScript. Please wire the AirPay SDK (or raw REST calls if you prefer) into a dedicated service layer, include middleware for request validation and error handling, and document every environment variable or secret the system requires. Unit tests covering happy-path and typical failure scenarios are essential, and I’ll run test credentials in a sandbox before signing off.
Deliverables
• Fully commented Node.js module / service
• REST routes (initiate, verify, refund placeholder) wired into Express
• Sample curl/Postman collection and concise setup guide
• Jest (or Mocha) tests showing successful card, wallet, and bank-transfer flows
Acceptance criteria
A sandbox charge for each payment method must complete and the callback must update order status without manual intervention.