The payment system is currently configured for TESTING MODE ONLY. No real money will be transferred.
CASHFREE_ENVIRONMENT=sandbox
CASHFREE_CLIENT_ID=TEST_CLIENT_ID_REPLACE_WITH_ACTUAL
CASHFREE_CLIENT_SECRET=TEST_CLIENT_SECRET_REPLACE_WITH_ACTUAL
PLATFORM_FEE_PERCENTAGE=5
- All payments are simulated
- No real bank accounts required
- Mock bank details are used if worker hasn't set up bank details
- Visual indicators show "TEST MODE" in the UI
- Console logs show payment simulation details
- Login as a client
- Create a new service request with a budget
- Post the request
- Login as a worker
- Find the service request
- Send a proposal
- Wait for client to accept
- Once accepted, start the work
- Status changes to "in-progress"
- Click "Request Payment" button on the job card
- Enter amount and description
- Submit payment request
- Login as client
- View pending payment requests
- Approve or decline the request
- Both client and worker can view:
- Budget overview
- Payment requests
- Transaction history
- Remaining budget
In test mode, the system uses these mock bank details:
Account Number: 1234567890
IFSC Code: TEST0000001
Bank Name: Test Bank
Watch the backend console for test payment logs:
[Payment] Cashfree Service initialized in TEST mode
[Payment Test] Simulating payout: ₹1000 to John Doe
[Payment Test] Checking status for transfer: TXN_1234567890_abc123
To enable real payments:
- Get actual Cashfree credentials
- Set
CASHFREE_ENVIRONMENT=productionin .env - Set
NODE_ENV=production - Workers must add real bank details
- Test with small amounts first
POST /api/payments/request- Create payment requestGET /api/payments/requests/:serviceRequestId- Get payment requestsPOST /api/payments/respond/:requestId- Approve/decline paymentGET /api/payments/history/:serviceRequestId- Get payment historyGET /api/payments/stats- Get user payment statisticsPOST /api/payments/webhook/cashfree- Cashfree webhook
- Worker requests payment
- Client receives notification
- Client approves payment
- System processes payout (simulated in test mode)
- Both parties receive confirmation
- Budget tracking is updated
- Transaction is recorded