====== Phone Verification System (WHMCS Module) ====== __This article is being updated for the latest release v5.x__ Phone Verification System (PVS) is a WHMCS addon that helps eliminate fraud and makes sure accounts created are legit as each phone number is verified to make sure it is real. The system allows you to use four different API providers, [[https://www.nexmo.com|Nexmo]], [[https://www.clickatell.com|Clickatell]], [[https://www.twilio.com|Twilio]] and [[https://messagebird.com/en/|MessageBird]]. Alternatively, you can integrate any other SMS API provider using our new Custom Dev Kit (read below). With the option of setting your verification API, and strategy. This is explained in detail below. Clients who are in your WHMCS database before you enable the module, will not be effected and will not require to be verified. This module will only verify new clients. **Proud to say that this module doesn't alter a single template file.** ---- ===== Screen Shots ===== {{gallery>:pvs:screenshots?lightbox&1600X1200&nocache }} ---- ===== Features ===== Being updated. ---- ===== Quick Setup Guide ===== Follow the steps below in order to quickly get your phone verification system running. * Order Layer's PVS WHMCS Module from http://layer.ae/ * Create an account at an API provider (gateway) or [[pvs:integrate_customdevkit|Integrate with another Provider's API using Custom Dev Kit]] (Optional) * For [[https://www.nexmo.com|Nexmo]]: register for an account, verify your email, verify your number, top up the account to lift limitations, and keep your API Key and Secret values for later. * For [[https://www.clickatell.com|Clickatell]]: register for an account, verify your email, verify your number, top up the account, and keep your Clickatell user, password, and API ID values for later. * For [[https://www.twilio.com|Twilio]]: register for an account, rent an outgoing phone number, upgrade your account to lift limitations, select the countries you want to be able to SMS or Call, and keep your Account SID, Auth Token, and Outgoing Number values for later. * For [[https://messagebird.com/en|MessageBird]]: register for an account, verify your email, verify your number, and keep your API Key value for later. * (Optional) For [[https://www.maxmind.com|MaxMind]]: register for an account, verify your email, purchase credits, or get 1,000 free credits to trial the system - keep your minFraud User ID and minFraud license key for later. * Download the latest module ZIP file, unzip it, and upload the modules folders to your WHMCS root directory * Go to your WHMCS Admin area, and go to the Addon Modules page. Activate Layer's PVS module, and then configure the module. Fill in the details based on the API used, and the choices you make, and give access to the admin roles. * (Optional) [[pvs:integrate_multilang|Integrate multiple languages for client side (multilang)]] ===== Detailed Setup Guide ===== Follow the steps in the order below to get your phone verification system running: * [[http://layer.ae|Order The PVS Module]] * [[pvs:create_nexmo|Create a Nexmo Account]] or [[pvs:create_twilio|Create a Twilio Account]] or [[pvs:create_clickatell|Create a Clickatell Account]] or [[pvs:integrate_customdevkit|Integrate with another Provider/Gateway/API using Custom Dev Kit]] (Optional) * [[pvs:create_minfraud|Create a MaxMind Account]] (Optional) * [[pvs:upload|Upload the Module]] * [[pvs:configure|Setup & Configure the Module]] * [[pvs:integrate_multilang|Integrate multiple languages for client side (multilang)]] (Optional) ===== Requirements ===== To be able to make use of the phone verification system, you have to make sure that the following requirements are fulfilled: * Ioncube * Non strict firewall (to perform license checks) * Latest version of WHMCS * A License Key to run the script * If using Twilio: A Twilio account, with credit, and an outgoing phone number. * If using Nexmo: A Nexmo account, with credit. * If using Clickatell: A Clickatell account, with credit. * If using MessageBird: A MessageBird account, with credit. * If using MaxMind's MinFraud: A MinFraud account, with credit. * FTP client to assist with file upload ===== Verification API Comparison (Gateway / Providers) ===== |< 100% 10% 33% 33% 33% 33% >| | ^ [[https://www.nexmo.com|Nexmo]] ^ [[https://www.twilio.com|Twilio]] ^ [[https://www.clickatell.com|Clickatell]] ^ [[https://messagebird.com/en/|MessageBird]] ^ ^ Benefits | Smart system, which only charges you a flat fee per verified number & automatically knows if it should send an SMS or perform a Phone Call. No need to rent a dedicated outgoing number. | Cheaper rates, ability to customise the beginning and end of the SMS verification message, and soon will allow you to customise the verification phone call with [[https://www.twilio.com/labs/twimlets|Twimlets]]. | Cheap rates, ability to customise the beginning and end of the SMS verification message. | ^ Drawbacks | Not a lot of customisation options for verification method. | Requires you to rent a dedicated outgoing number which costs $1 additional per month, might also require manual request of additional countries to be unlocked for the account to be able to perform outgoing phone verification for countries not supported by default. | Some countries require additional support/product from Clickatell. | ^ Verification Methods | Automatically chooses either SMS or Phone Call verification depending on number provided. | Manually allows you to choose either to perform verifications by SMS or Phone Calls. | Performs SMS verifications only. | Performs SMS verifications only (OTP). | ^ Verification Code Length (default) | 4 digits | 4 digits | 4 digits | 6 digits | ^ Minimum Costs | €0.1 per successful verification | $1/month recurring for outgoing number, as well cost per call or SMS, [[https://www.twilio.com/pricing|refer here]].| Pre purchase account credits, an SMS could cost you at a minimum 0.80 credits, [[https://www.clickatell.com|refer here]]. | Add a minimum of $15 to your account (top up), an SMS could cost you at a minimum $0.005, [[https://messagebird.com/en/pricing/|refer here]]. | ===== Verification Strategy ===== You will be able to choose between three different verification strategies. The newest verification strategy 'minFraud' has been released, which allows you to only verify accounts if they are deemed as fraud by MaxMind - you choose the risk score. More details on risk score, [[https://www.maxmind.com/en/explanation-of-minfraud-riskscore|here]]. |< 100% 20% 80%>| ^ PreCheckout (Preferred) | The client has to verify his account before his order is actually inserted into the database. | ^ OnPageChange (Strict) | The client has to verify his account upon accessing any of the client area pages of WHMCS. | ^ OnPageChangeCC (Less Strict) | The client has to verify his account upon accessing any of the client area pages of WHMCS (only use this if you are handling credit card payments too). | ^ minFraud(Preferred) | The client has to verify his account if the risk score returned by MaxMind is greater than what is set by you, before his order is actually inserted into the database. | ===== Custom Dev Kit templates ===== Below are community created custom dev kits, download & overwrite the customdevkit.php file in the module directory to use. * [[pvs:customdevkit_bulksms|BulkSMS custom dev kit integration - https://www.bulksms.com/]] ===== Upgrade Guide ===== If you are upgrading from an older version of the script, after you upload the new files, you have to visit the Admin side of the Layer's PVS Module (Usually at http://yourdomain.com/whmcs/admin/addonmodules.php?module=myrskpvs) for the upgrade system to update any needed settings/etc. **Note:** To refresh the caches, you also need to go to Setup > Addon Modules and click on configure and then just press the save button. **Note:** If you are using legacy (old) Clickatell, you need to go to Setup > Addon Modules and click on configure and then select ClickatellSMS-Old and press save. ===== Changelog ===== A Changelog will be posted on the page linked [[https://marketplace.whmcs.com/product/1834#changelog|here]], upon any updates.