Description
Our company sells premium humidors and cigars. A meaningful share of our orders arrive by email or phone, and we currently have no clean way to take card payment for them. We need a small, well-built web application in two parts: 1. An internal admin panel where an authorised administrator enters an order number, description, amount and customer email, and sends the customer a secure single-use payment link. 2. A branded hosted payment form where the customer enters their own card and billing address and pays. Processing is through Authorize.Net. Company staff must never see, type or store card data. We use Accept.js, so the card goes from the customer’s browser straight to Authorize.Net and our server only ever holds an opaque token. Target scope is PCI SAQ A-EP. There is a strict three-role model, and it is the core of the project: Super Admin — creates, blocks and unblocks users. Cannot create payment links. Administrator — creates and sends payment links. Every link is stamped with their name. Agent — views payment status and resends a link a customer has lost. Cannot create a link or change an amount. Role separation must be enforced server-side on every endpoint, not by hiding buttons. 2FA is mandatory for all three roles. What you get on day one: A 12-page technical specification: flows, role matrix, field-level validation, data model, gateway configuration, security requirements and acceptance criteria (attached) Complete UI design for all five screens, in HTML (attac