First of all I have to say that 70% of php code for the above mentioned features have been already done by another developer (and this work will be provided to you) but he was not able to finish the project because he was not very familiar with the Magento platform. So have in mind that you must bid for making the rest of the work and ensure that everything works fine.
What I want to be done is at the “Address book” to create a new button that will say “verify” next to the “telephone” field and when the member pushes it, an SMS will be sent to the mobile phone he has put in the field, with a random verification number of 8 digits. The SMS will be sent via [url removed, login to view] gateway ( I will give you all the information needed).
After the member has pressed the verify button, the field where he has put his mobile phone number will disappear and then a new field will appear it its place and he will be able to put the verification code there. After he has verified the mobile phone number, he will be able to change his mobile phone number, but then new verification will be needed.
Also there must be next to the verify button a small captcha field before he can press the verify button.
After he has entered the verification code and pressed “ok” so that the system can check if it the correct code that has been sent, he will be able to see then if the mobile phone is verified or not and then saved in his account.
Finally the mobile verification process will be compulsory for every new member before he can make an order. It is already compulsory in my Magento installation.
The phone that the member will be able to save must be only 10 numbers. So if he tries to put more he must not be able to do this.
Details about the mobile verification process.
First of all, before sending the verification code to the member’s mobile, the verify button must check if the mobile phone is in the blocked members list. This block list will be a very simple table in the database that you will create, so that I will be able to add some mobile phone numbers there manually, if a member is banned from the site. So if a mobile number is there then the member will not be able to “verify” this mobile phone number, and a message will appear the this mobile phone number is banned.
Also it must check if there is another member with the same mobile phone registered. If there is a member with the same mobile phone that the new member tries to verify, then a message “this number is already verified by another member” will appear.
Another very important check before sending the verification SMS is to check if the member has already verified his mobile phone, at another store of Magento. I will explain this a little bit more. Each store in magento has its own members and they register separately in every store/website. So if I have 3 or 4 different stores/websites in Magento then it will be a waste of money to verify the mobile phone numbers every time the same person registers with the same e-mail in every store/website. So to avoid this, the system must check to see if there is already a member with the same e-mail address registered in any of the other stores/websites in Magento installation, that has the same mobile phone (verified) with the one that the new member has just entered to verify. So in this case, that the same person has registered in another store in Magento with the same email address and has already verified the mobile phone number, then the verification process in the new store that he has just registered will happen immediately without sending a new sms verification code to the same mobile phone number that he has already registered in the other Magento store.
Also, before sending the verification code to the mobile number that the member has entered, an HLR look up will be made, in order to verify the existence of the phone number and to get some information about the phone number for example Operator name, IMSI, etc.
Project continues below.
The HLR look is going to be made through my http://www.routomessaging.com account.
The results of the HLR look for the mobile phone number are going to be saved at the member’s table in the database, so that I will know for example the “IMSI” and the “Operator name”, if I want to check it later in the database fields.
After the sms has been sent with the verification code inside it, the system must check if the sms has been delivered to the phone. If not act properly, for example if the member has the phone switched off, wait until it is delivered, and if there is an error at the sending process, then resend the sms with code.
The member must have verified his phone number before he will be able to place an order.
The member will be able to change his mobile phone that is saved, but he will have to verify it again.
The verification process must be available for every new store/website that I am going to make.
The verification process must be also available at the checkout process, if the member hasn’t filled his details in the dashboard.
The whole process must be made first locally to your machine and then if it working perfectly, then you will enter it to my website.