 Jeremy has talked about wukomas and for those who haven't looked at the stats, WordPress powers about a third of the internet, powers about 30% of the web. According to Matt, who is the founder of WordPress, he envisions WordPress to be the operating system of the web in the coming years. So if you consider, if you look at that and you look at the uptake, WordPress uptake across the globe, WordPress is growing at a very fast rate. More and more people are using it every single day. And more and more people are using it to set up online stores, for that matter. So I know you could consider things, you could look at the competitors, you could look at existing systems like Magento. Which other system is used to create wukomas stores online besides Magento? There's OpenCut, which other one? So basically we have a number of them. But none offers the number of features, the number of benefits as WordPress does. And I like to cover this because if you look at our market, those of us who are in here, let me say how many of you have debit cards or credit cards for that matter? The truth is, majority of Kenyans don't know that you can use that card for anything other than withdrawing money at the ATM. Yeah, that's the sad truth. I am not joking, that's the sad truth. So the point is, if you're going to set up an eco-master in Kenya and you decide that you only want to accept payments via cards, that's going to be a problem. Because half of your customers may not know that they can use their cards to pay on the site. So when it comes to payments here in Kenya, most people, most of us prefer to use mobile payments. Most people prefer mobile payments. Either mobile payments where you pay via M-Pesa or by Airtel money, via Igutel, or withdrawing money from the bank and then depositing to your phone and paying via the same methods. So if you consider mobile payments versus card payments, mobile payments offer a certain convenience that you cannot match here in Kenya. Because for instance, if you're accepting payments via M-Pesa, your money can either go directly to your bank account or your money goes to your phone number, to your M-Pesa. Either way, you are receiving your money directly. If you consider the cost implications, mobile payments are far cheaper to process and to move around your money than card payments. So it becomes imperative then that we need to figure, we need to make integrating mobile payments into websites. It's not just a wordpress, this is particularly a wordpress, but not just for wordpress. Basically, any Kenyan online store, it becomes imperative that we need to figure out how to integrate mobile payments into e-commerce stores. Now personally, I have my journey with mobile payments. I have an artistic background. I used to be a performing poet and I'm a published author. At some point, I lived in the same house with a group of musicians. We used to perform and we used to record music and release the music. At some point, we needed to sell that music on our website. We wanted people to be able to preview a song and if they loved it, they could either download it, they could buy it from their website or maybe pay some sort of subscription fee and listen to the song. That was the idea. So we set out trying to see how best we could integrate a way for people to pay for this music on the website through their phones because, come on, how many of you, let me just ask, how many of us are developers? How many of us are developers? Few enough because I think, as far as I'm concerned, mostly you either have to be a developer or you work at a desk for you to view websites primarily through your laptop because most of us use phones. Our phones have primary access to the internet. I don't think I'm lying. So the point is when we, I started doing my research and seeing how best we could integrate mobile payments into our website and at the time there were no resources and I was in Mombasa at the time and I went to Safarikum house and I asked if they had an API and the person I talked to was the highest office holder and that place had no idea what an API is. So you try and that's the only way you can actually do some of these things. So first if along that journey we go to a point where when people, so when more and more online stores were coming up people figured the only way you could, there was a workaround because there were no APIs at the time. So the workaround was give someone a form. When someone is checking out, give them a form, let them enter their phone number and then let them enter their Mpesa receipt number. Like they would literally tell you to pay for this item. You had a bunch of instructions to pay for this item. Go to your Mpesa, enter pay bill, enter this pay bill and then enter this amount and then once you've paid enter your details down here. That seemed like the only way and it's rather kambasam because imagine if I'm buying something on a website on my phone I have to close the browser, go to my Mpesa and then I would have to write the pay bill number somewhere because I wouldn't remember. It's a six digit figure and some of us can't remember two digits. So I have to... So I would have to write the six digit number somewhere and the amount and the account number as well then go to Mpesa, pay, then wait for the message to come and then write out that Mpesa receipt number and then type it in on the browser. That was two kambasam. What we were looking for was a way we could simplify that. Even if it's not just reducing it to a single step but basically make it more convenient for customers who are paying. So what we envisioned was we need you to because there's something called STK push, same toolkit push. That's like when you're buying at a... When you dial something like star 100 hash you get a pop up and then you have options. Enter one to do one thing, enter two to do this. That's called STK. So we figured if you could do that for payments because if you look at the Mpesa process, the normal process, the final process involves you entering your pin number. But the previous processes before that just involve you entering some data which is already available elsewhere. So we figured how about if you could just have a system that provides these other information so that all you have to do is enter your pin. That way you're going to cut down the number of man hours. It's literally man hours wasted in just paying for an item online and all you want is pay to pay. You don't want to read any other thing. You just want to pay and have your staff delivered. Right? So in 20... Let's 2015, that's when... When did Safarikom move their servers from Zemwin? Anyone who is aware of that? Anyway, it is a significant point. But after Safarikom had moved their servers we sort of had more access to Mpesa. And that's the first time they released the initial API, the first API. This is the time we had some sort of access to it. I would want to... Because we are taking WordPress and because we are taking Ukomas, I'm going to go a bit and talk about... Go back. I'll talk about WCM Pesa, which is a plugin I developed a while back for accepting Mpesa payments on your site. And I would say at the moment is a company called Finsav. It's a subsidiary of Equity. And they have APIs out. It's called Jenga. They're supposed to help us integrate payments with banks and other telcos. They have Mpesa as well and they have Equitel. Izipei as well. So I'm working on that as well. But for the time being, Safarikom's Deraja is the most robust payments API we have in the country. Even the Jenga one is still a bit flaky. Okay. So like I said, WordPress powers a huge segment of the web. And the majority of the online stores in Kenya are built using WordPress. When I say store, I'm not really talking about a fully-fledged online shop like Jumia. I have some of the people who are using this plugin. There's one who sells flowers, house flowers. You can buy them and he'll deliver them. There's one who sells books. There's one who sells veggies. So there's a wide variety. Literally it's for anyone who is selling anything on their website and they want to receive payments. So there are other plugins that allow you to sell stuff online, but I think Jeremy went through this and he said I would vouch for Ukomas. There's no point setting using any other. Ukomas is the only one that's worth exploring. And now that Ukomas was bought by Automatic, which is a parent company of WordPress, you can be assured that it's going to be developed more. So in a nutshell, WC M-Pesa is just a simple plugin that allows you to accept M-Pesa payments on your site. So tomorrow we have Developers Day and I think after that, this plugin will be available on the plugin repository. So you'll be able to install it from the WordPress dashboard. But at the moment, the plugin is available on the website. And the website is here. So wc-m-pesa.osan.co.ke. But you can view the website. The website has pretty much all the details about the plugin. It also allows you to test the plugin from the site. So you can buy a test product and you can pay for it. So the way this plugin works, you have to configure it. Once you install it, you have to configure it. I would expect there are prerequisites to use this plugin. I told you about Deraja, which is a developer portal by Safaricom. You're supposed to create an app there. And the reason you need to create an app on Deraja is because you are dealing with M-Pesa. You're dealing with money. And our laws are structured in such a way that there's too much red tape. So for us to validate that you are a proper user, you need to create an app on Deraja. So once you create an app, of course you need a short code. A short code is either a till number or a pay bill. I would really recommend you getting a pay bill over a till number because one, pay bills, till numbers are free, people pay for free. So you note for till numbers people pay for free and you're going to incur all the costs. And then at least with pay bills, if you're getting a pay bill, the costing model depends on the kind of pay bill you want. There are pay bills where the customer foods the whole bill. There are pay bills where they charge as much as 50 shillings for a transaction. Then there are pay bills where you split. So there are pay bills where you pay, you buy something at a pay bill and you pay less than 20 shillings. And then there are those pay bills where the business foods the whole bill. Like when you're buying air time for telecom, it's free for you but telecom have to pay for the costs, the transaction costs. So depending on the pay bill you get, so you need a short code for that and I would really advise on getting a pay bill over a till number. Pay bills take only seven days at most. What you need is just, if your business is registered, you just need your business documents. That's all. Actually you can start the process on your phone and then work into a safari kumshopa and finish it. But it takes seven days at most. And then you need an SSL certificate. Going from WordPress 5, there's a new version of WordPress. Let's come out. Basically from WordPress 5.0 going forward, it's so going to be supporting websites that are not secure. So if your website is not on HTPS, if you do not have a secure protocol, WordPress won't work on that on such hosts. And it's only, it's for everyone's good because with HTPS all the information that is moved between these website of yours and other servers is encrypted. So which means people can't steal data. People can't steal your customers phone numbers. And I think it's worth mentioning that initially when we started having phone numbers, people didn't think of them as identifiers. But right now your phone number identifies you. If I got your phone number, I'll get your name. I can get your ID number and I can pretty much get where you live and what businesses you do and what you've paid for. So phone numbers have become very sensitive and now we have something called the GDPR which is a law in Europe that sort of restricts on what kind of information you are allowed to have from your customers and what you can do with that information. And yeah, GDPR is in Europe but it applies to any company that might have a customer in Europe. So even if you have an online store here and one of your customers maybe is Kenyan but they moved to Europe and now they are part of a European country. There are citizens there. Tengiki you are required to adhere to GDPR. So basically phone numbers, if having HTPS sort of buffers you against anyone stealing your customer data, it makes sure that the transactions are encrypted and they're very secure. And then of course we need a server. You can test on local host but here we are talking about online stores. So I'm thinking it's for a store that already exists, it's online. And then of course we need access to the MPSA web portal. MPSA has a web portal that allows you, when you have a till number or a pay bill it allows you to log in and view your transactions, you can do reversals, you can do transfers. You need access to that portal as well when you're going to use this plugin. So like I said the files are available on the website. You simply have to download them and upload them to the plugin to your admin but after tomorrow it will be available in the plugin depository. So you'll just go to plugins and then search for WCM PESA and you'll find it and just install it from there. So once you've installed it you need to configure. Those prerequisites we've talked about you need to configure them here. So of course you need to enable the Lippan MPSA then you can edit the title, how you want it to be seen when the user checks out. Now the environment bit when Safarikom Daraj allows you to test your app before going into production it allows you to test to see whether it's working fast. So you can test with some little amounts and then they are usually refunded by the end of the day. So when you say there are two types of environment. There's sandbox for testing and then there's production or live when you're in production that is when you're live basically. So you need to set the environment. I would suggest you try with the sandbox first because there's no point deploying an app that you're not sure it works. And then identifier type. Safarikom MPSA has a number it's quite an array of identifier types but generally what is important to us here is pay bills for in our case pay bills have the identifier type of four just number four and then till numbers probably six think no till numbers are two and then four numbers one. So at the moment the plugin supports only till numbers and pay bills but we are working with Safarikom to see whether we can support the other one four numbers because peer to peer payments are still a big issue because of our laws of financial laws. And then the PESA short chord that's your till number or your pay bill. And then when you create an app on Darajah which is a Safarikom developer portal the app has a consumer key and it has a consumer secret. You need those two details when you're configuring this one. And then of course there's an online pass key which is also provided and you can use that as well. And then the other details account name prefix and accountant they're not as important but basically the account name this plugin has when you're paying via PESA and you've entered all the details you get a pop-up asking you do you want to pay this amount to this business for this account? I think all of us have paid via PESA and there's usually an account number sometimes it's a name sometimes it's a number sometimes it's a mix of the two. So what this plugin does because you're talking about WordPress orders when someone is making an order every order has a number, an ID. So what this plugin does it takes the order ID then prefixes it with WC. So you have if I was buying something and the order is 18 the account number that will show up on the pop-up will be WC 18. Now you can change that if you have a business called Mawko business and you want when the user pays they want to see the account name as Mawko then you can change that in the settings and show whatever you want to be seen. So it's straight forward most of these details you're already going to have them so you just literally just pasting them copying them from somewhere and pasting them. The plugin has a few at the top when you look at the settings there are instructions and I put a huge text there in red saying important because it's important and I receive calls every day people asking me about those instructions. They're asking me what to do and I tell them please check the settings because all the instructions are there. So basically the instructions the first instruction says please create an app on the Raja if you haven't. You're not going to do anything without an app on the Raja. Two, for security purposes and for the IPN instant payment notification to work your site has to run over SSL that means it has to be secure and then you can register confirmation and validation URLs which are not as necessary really. And then when you're in sandbox and you want to test there's a link there saying you can test you can generate sandbox test credentials here. So if you need credentials to test like you need a pay bill number to play around with from Safari com and you need an online pesky to play around with if you click that link you'll get those details. So it's just a matter of copying them and pasting them in the settings. So once you've configured the plugin the plugin does pretty much everything else that's all you have to do literally. The configuration that's all you have to do. So if you've configured your plugin correctly your customers will see a checkout option. When they're checking out they'll see an option to pay via M-Pesa. So they'll see lipan M-Pesa with instructions. The instructions that are here so far just says cross check your details above before pressing the button because you're using the when someone is checking out using kumas they enter their details here their name, their address, their phone number and other things. So basically these instructions just say cross check your details to confirm that they are correct before pressing the button and it says that your phone number must be registered with M-Pesa. Of course if you're deducting M-Pesa the phone number has to be registered and then it says you'll get a pop up on your phone asking for your asking new to confirm the payment. Enter your M-Pesa pin to proceed and then you'll receive a confirmation message shortly. These instructions you can also alter them in the settings. You can change them to whatever you want. If you feel like they're too rigid you can change them to whatever you want. So our customer wants to pay via M-Pesa buys the products, adds it to cut and then checks out, goes to the checkout page then finds there's an option via M-Pesa to pay via M-Pesa. Selects that option and then presses the button to place the order. So what happens here is that once they press the button the SDK push comes on top of the phone. So that is, remember when I said about how in the past you had to leave the browser to go to M-Pesa? So this one if they were buying something on an app or on a website in the browser they don't have to leave it because the pop-up comes on top of the browser telling them something like this do you want to pay 42 shillings to this company for this account? Enter your pin. So the customer enters the pin presses OK and that's all that's squared from them. So once they enter the pin M-Pesa processes the payment the that's the M-Pesa processes that payment the that's the money and the plugin will process your order it receives details from Safari come from M-Pesa and it will update your order with the receipt number. So there's no need for the customer to come back and enter that receipt number because the plugin already handles that for you. So if you look at these it has it simplifies it makes it convenient for both you as the seller and for your customer because now your customer only has one step one for payment just one step they only have to enter their pin and for you as the seller your order will be processed and you'll have the M-Pesa receipt number and another feature we added to this plugin is that it has at least all your M-Pesa payments separately from the orders it will list them separately so you can literally just view them and you can confirm those details if you want but the plugin handles the processing by itself. So basically that's all the plugin does it extends WooCommerce so it means you have to have WooCommerce installed and it adds the M-Pesa payment option and it processes that as well so this plugin is running on last I checked it's running on 89 websites but another one called me today so probably 90 and this plugin is free