Configure a uPay site in TouchNet Payment Gateway with the institution's merchant credentials and define the posting URL (the endpoint TouchNet will call after payment)
Generate a signed uPay URL with required parameters (upay_site_id, student account number, amount, and a TICKET or EXT_TRANS_ID for reconciliation) per the uPay URL specification
Redirect or iframe the student to the signed uPay URL so they complete payment on the TouchNet-hosted page (PCI scope stays with TouchNet)
Receive the POST callback from TouchNet to your posting URL containing pmt_status, sys_tracking_id, and the EXT_TRANS_ID you provided
Validate the posting request using the shared secret or validation parameters and post the payment to the student ledger in your SIS
Confirm the transaction by responding 200 to TouchNet's callback; a non-200 response will cause TouchNet to retry the posting notification
Known gotchas
The uPay posting URL must be publicly reachable by TouchNet's servers — firewalled or localhost URLs will cause payment confirmations to silently fail even though the payment succeeds on TouchNet's side
TouchNet's payment parameters use URL-encoded query strings with specific field name conventions that vary by TouchNet version (legacy uPay vs. newer Payment Gateway APIs) — confirm the exact parameter set with the institution's TouchNet admin
Test mode payments in TouchNet use a separate uPay site ID; accidentally pointing to the production site ID during testing will create live transactions against real student accounts
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp