We are looking for an experienced Magento dev. to create an offline payment gateway.
Our Clients uses mobile money to purchase from our site. They use USSD protocol to make a payments transfer to our bank account. Once done, they receive a payment confirmation (including payment reference) by text message and We also receive payment receipt in our local Microsoft MSSQL database (see attached screenshot). The bank is currently pushing feeds for 3 of our account's receipt in one database table.
Tasks are as fellow:
Front End design - In the checkout page there should be a selection of the payment gtw type ( radio button and image), once selected we need to ask the user to reconfirm the mobile number that will be used to make the payment. User clicks on Place Order.
Create a page to provide the bank account number details and Magento order number, also instruct the user on how to make the payment (CMS block required) and collect (text field) the payment reference number wish the user receives by text after completing the mobile payment. Next, The user will click on "process payment" button.
For Mobile users: trigger USSD code that will contain our account number, the amount and order number. Collect the receipt number on the payment page.
background process - check the collected payment details against the database by looking for user mobile number, order number (optional match) and payment receipt in the local MSSQL database:
If payment is available in the table and the amount is correct then the order need to be processing else it will be pending, in this case, check the payment every 5 min for 1hour. trigger admin alert for payment failure.
For every processed order, write the Magento order number on the corresponding payment line On the local database (bank receipt). This will allow us to see what payment has been processed and for which order.
Kindly let me know your price and dev time.
Change in the process and one additional requirement.
Background process - After the user click "payment done button" check the collected payment details against the database by looking for user mobile number, order number in the local MSSQL database:
If payment is available in the table and the amount is correct then the order need to be processing else it will be pending,
If the payment record is not found after 3 attempts by the user. Collect the received payment reference from the user ( this number is generated by the bank and send to the customer by text message and to the db). In the order confirmation page, the Alert the user that the order is placed and the payment will be processed. Run a cron to keep looking if the payment is received and change order status accordingly.
In Magento backend, Provide a page that displays the content of the payment table. the content of the page needs to be filterable and searchable.
We need to be able to set permission on users to read this page.