We are looking to have a module developed for WHMCS to assist us in automating the Credit Card payment verification process. This module should have a customer UI that accepts image uploads and stores them in the database, and an administrator user interface that allows staff and administrator users to verify the image uploads and setup the customer.
When a *NEW *customer signs up using Credit/Debit card as a payment method, we would like to put the customer into a 'Verification' status automatically, which puts the account on hold and does not initiate an automatic setup of their ordered services. The customer should be notified via WHMCS templated e-mail that their account is on hold pending identity verification. Their account should also display a notification similar to the overdue invoice notification on their dashboard that notifies them of the verification process, and links them to the UI. If a customer does not verify his/her identity in 72 hours (value should be modifiable via module settings or within the admin UI), the customer should be notified once again via WHMCS templated e-mail to verify their account. If the customer does not verify their identity within 7 days, the module should automatically terminate the client, initiate a refund of the credit card payment via the payment gateway, and close the client account without any staff intervention. Once the customer verifies the information, the administrator/staff user should be able to approve the account, kicking off a normal product setup, and thanking the customer via WHMCS templated email.
Existing customers should not be affected UNLESS they enter new credit card details. If a customer chooses to enter a new credit card, an additional WHMCS templated email should be used to notifiy the customer that they have 24 (again a value should be modifiable via module settings or within the admin UI) hours to provide us with updated verification. If verification is not provided within the predetermined time, ONLY the service(s) paid for with the new credit card should be suspended, with the customer being notified via e-mail of the suspension, the WHMCS suspension reason being set to 'Verification Issues', and being given 7 further days to rectify the issue. If the customer provides information into the user UI within 7 days, the administrator or staff user should be able to approve the customer again, kicking off re-enabling of all suspended products affected by the suspension, and again thanking the customer via WHMCS templated email for verifying his/her account. This re-verification should NOT delete previous verification information, and instead provide the customer with a second place within his/her verification user interface to upload new information.
This process should be as seamless as possible for the end user and our billing staff members. The user interface should provide basic templating to allow us to skin the user interface within WHMCS, as well as providing space for us to give the customer any information prior to providing the user with an area to upload data for verification. The Admin interface's main interface should be a list of ALL customers who paid with a debit/credit card, the customers name, amount paid, total services, date signed up, and verification status (either true/false for verified or the customer's actual WHMCS status) along with a link to a secondary interface that provides the customer's verification status. Staff/Administrator users should be able to mass-update users in this main interface with specific one-time actions like changing their customer status by selecting multiple checkboxes next to each customer row. The secondary interface should contain all customer/user information from WHMCS such as name, etc. as well as services ordered, service status, and options to change service status. It should also contain a place for the administrator/staff member to review customer uploaded information.