<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by MediaForce Communications on Medium]]></title>
        <description><![CDATA[Stories by MediaForce Communications on Medium]]></description>
        <link>https://medium.com/@mediaforcecommunications?source=rss-e9d2366b3956------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*YbnLeNR-MdHrBucUnYPNjw.png</url>
            <title>Stories by MediaForce Communications on Medium</title>
            <link>https://medium.com/@mediaforcecommunications?source=rss-e9d2366b3956------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 01 Jun 2026 06:35:00 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@mediaforcecommunications/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[How to make an Impactful Documentary film — A Step-By-Step Guide]]></title>
            <link>https://mediaforcecommunications.medium.com/how-to-make-an-impactful-documentary-film-a-step-by-step-guide-6c8b2ea3bf8?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/6c8b2ea3bf8</guid>
            <category><![CDATA[filmmaking]]></category>
            <category><![CDATA[film]]></category>
            <category><![CDATA[film-production]]></category>
            <category><![CDATA[documentary]]></category>
            <category><![CDATA[video-production]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Tue, 01 Nov 2022 14:00:44 GMT</pubDate>
            <atom:updated>2022-11-03T05:33:03.641Z</atom:updated>
            <content:encoded><![CDATA[<h3>How to make an Impactful Documentary film — A Step-By-Step Guide</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*1CiCweR1QvXQ-SJx.jpg" /></figure><h3>How to best tell the story of your work or experiences</h3><p>Firstly, What is a documentary film? According to <a href="https://brilliantio.com/what-is-a-documentary/">Brilliantio</a>, a documentary film is <em>a video that informs or educates its audience about a specific topic or issue</em>. Sometimes, through your work, or your own lived experiences, you encounter stories or work that need to be told beyond the eyes and ears of the few that are directly impacted. If you’re here, you are probably looking for the best team of videographers, producers and editors to produce your documentary video. In this article, we will be guiding you through how to best make a documentary film.</p><p>First of all, a good documentary is more than just a few heads behind the camera, and quick cuts on editing software to create something you can upload onto YouTube and share with the world. There are so many things to consider when setting yourself up for an award-winning documentary but here are a few for a start:</p><p>At MediaForce Communications, we have a team of storytellers with experience spanning over a decade ready to help you tell your story through a compelling documentary.</p><h3>Script: Planning your story</h3><p>Across all communities and nations in Africa, we are all born from a long line of storytellers! On any given night somewhere under the African night sky, there’s a group of people seated around a fire, or a meal listening to tales of a time long past.</p><p>Whether your documentary will be of real events happening in the present day, or a re-enactment of a story from the past, it is important to intentionally plan out every aspect of your story before the cameras start rolling. This is done by script writing A script is a written document that is used in film production but helps visualize the scenes of the production. Moreover, a script ensures that you do not miss out on any of the important bits. Believe it or not, as much as you might think you understand your work, or your story, without a script, you may end up unintentionally misstating certain aspects. Some examples/types of scripts include:</p><h3>The Shots list: Getting the perfect angles and scenes in your story</h3><p>Every story is only as good as how it is told. Sometimes, a good camera angle just comes naturally given years of experience, trial and error. However, the perfect shots are best achieved with prior planning and choreography. Depending on your particular story, there are key shots, scenes or images that you should expect to capture. Having these written down helps you not leave any out.</p><p>Moreover, remember to include the ‘in-betweeners’, the fillers, or in technical terms the B-rolls. These are the scenes that help tell your story, or give a wider context, but may not be necessarily part of that exact moment in your story.</p><h3>Getting the right locations for your story</h3><p>Depending on whether your story is a process demonstration, a work/project report, or a story re-enactment; the locations of your story are a key consideration. The positioning of the different elements in the scene where your story is being told helps tell where and where your story is happening. This helps your viewers immerse and get in deeper with the story. Locations are key in giving context to your stories and connecting your documentary to real times and places in the real world.</p><h3>Getting the right crew and equipment</h3><p>An old man once told me, that a pen is only as good as a writer. You can spend millions on the most valuable golden pen, only to not know how to write as well. Anyone can pick up a camera and tell a story. In fact, the uptake and penetration of mobile phones have turned literally anyone with a smartphone into a reporter. You will find mobile-generated photos and videos even in mainstream news publications. However, the best stories demand a good mix of equipment and production crew.</p><p>At MediaForce Communications, we don’t just send out photographers and videographers. Our teams are storytellers above all else. Every shot taken is thoughtfully made having in mind how it will contribute to the final documentary story. We are also always keen to bring with us equipment that is of the best quality, but also compact. We wouldn’t want to intimidate the subjects of the story with large, imposing equipment.</p><h3>Getting your film production right the first time</h3><p>If you got this far, then you’re definitely serious about getting your documentary film done. With the right Crew, set of equipment, and plan, you have all it takes to put together your story.</p><p>Once the cameras stop rolling, then comes the hard part, this is where the actual storytelling happens. A good story is actually told post-production during the editing phase. It is important to have an experienced editor/storyteller. This person will know when to best have music, filler scenes, transitions, motion graphics and special effects.</p><p>Are you looking for a competent team of storytellers to produce your next documentary story, be sure to reach out to MediaForce Communications.</p><p>See our <a href="https://mfc.ke/what-we-do/transformative-storytelling/">production services</a></p><p><em>Originally published at </em><a href="https://mfc.ke/how-to-make-an-impactful-documentary-films-a-step-by-step-guide/"><em>https://mfc.ke</em></a><em> on November 1, 2022.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6c8b2ea3bf8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Start a Blog and Make Money Online]]></title>
            <link>https://mediaforcecommunications.medium.com/how-to-start-a-blog-and-make-money-online-1966a577c197?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/1966a577c197</guid>
            <category><![CDATA[make-money-online]]></category>
            <category><![CDATA[make-money-blogging]]></category>
            <category><![CDATA[blogging-for-business]]></category>
            <category><![CDATA[blogging-tips]]></category>
            <category><![CDATA[start-blog]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Tue, 06 Sep 2022 02:51:45 GMT</pubDate>
            <atom:updated>2022-10-05T04:56:22.077Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*r2FY7-UbOeCzJWGP.jpg" /></figure><p>Hey, have you ever thought of having a blog? Have you ever wondered what it takes not only to start your own blog but also to make money from it or generate a passive income? Firstly, making money out of Blogging is not a myth. Many people write Blogs but do not actually generate revenue from it. However, if you are starting a blog to make money from it, don’t waste your time. Why do I say so? For your Blog to make you some money, you need to be good and passionate about blogging. Therefore, if you are ready to make your move and learn how to start a blog that will make you money, then let’s get into it. Therefore, if you want to start your own blog and monetize it, you need to:</p><ol><li><strong>Pick a Topic or theme you will be writing about</strong></li><li><strong>Pick your Blog Name</strong></li><li><strong>Select the platform for your Blog</strong></li><li><strong>Pick your domain name</strong></li><li><strong>Pick a Good Web Hosting Company</strong></li><li><strong>Set up WordPress and Install a free Blog theme</strong></li><li><strong>Publish Your Content</strong></li><li><strong>Optimize your Blog for Search Engines</strong></li><li><strong>Build traffic to your Blog</strong></li><li><strong>Monetize your Content</strong></li></ol><p><a href="https://mfc.ke/how-to-start-a-blog-and-make-money-online-the-ultimate-beginners-guide/">Learn more about how to go about these steps</a></p><p>Don&#39;t forget to follow us on <a href="https://mediaforcecommunications.medium.com">mediaforcecommunications.medium.com</a></p><p><em>Originally published at </em><a href="https://mfc.ke/how-to-start-a-blog-and-make-money-online-the-ultimate-beginners-guide/"><em>https://mfc.ke</em></a><em> on September 6, 2022.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1966a577c197" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What makes a good law firm website: A Case of Wamae & Allen Advocates]]></title>
            <link>https://mediaforcecommunications.medium.com/what-makes-a-good-law-firm-website-a-case-of-wamae-allen-advocates-eda791ba6281?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/eda791ba6281</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[seo]]></category>
            <category><![CDATA[digital-marketing]]></category>
            <category><![CDATA[branding]]></category>
            <category><![CDATA[web-design]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Tue, 05 Jul 2022 07:27:25 GMT</pubDate>
            <atom:updated>2022-10-05T04:56:54.588Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*wRILJJl3XxciXvQ2.jpg" /></figure><p>Firstly, let me give you something to think about. When you want to find the best anything (shop, restaurant, malls or any service provider), where do you go to? More often than not, you’ll search on the internet/online. We can say the same with your potential legal clients. A well-designed legal website is <strong>very important for marketing</strong> the legal services offered by the law firm. This is why designing an effective law firm website is very critical if you want to grow your firm and your clientele.</p><p>Website development is more challenging now than ever. With so many websites existing on the Web, it has become nearly impossible to stand out. Any modern website must be fast-loading, mobile-friendly, user-friendly and appealing. These are just the basic requirements. Some of these factors covered include:</p><ul><li>Website development.</li><li>Branding &amp; Professionalism.</li><li>User-friendliness and ease of navigation</li><li>SEO for driving search traffic to your website</li><li>Copywriting tips for web for law firms for effective communication</li></ul><p>Whether you want to build a website for your own law firm or you want to increase the visibility of your current website. We are going to look at the key areas to consider when designing a website for a legal firm.</p><p>See full post: <a href="https://mfc.ke/what-makes-a-good-law-firm-website-a-case-of-wamae-allen-advocates/">https://mfc.ke/what-makes-a-good-law-firm-website-a-case-of-wamae-allen-advocates/</a></p><p>Don’t forget to follow us on <a href="https://mediaforcecommunications.medium.com">mediaforcecommunications.medium.com</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=eda791ba6281" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Practical web development roadmap for Absolute beginners]]></title>
            <link>https://mediaforcecommunications.medium.com/practical-web-development-roadmap-for-absolute-beginners-c4b1a4e3e661?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/c4b1a4e3e661</guid>
            <category><![CDATA[web-design-tutorial]]></category>
            <category><![CDATA[web-development-course]]></category>
            <category><![CDATA[web-development-tutorial]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Fri, 24 Jun 2022 08:31:07 GMT</pubDate>
            <atom:updated>2022-10-05T04:57:38.093Z</atom:updated>
            <content:encoded><![CDATA[<h3>Practical web development tutorial for Absolute beginners</h3><figure><img alt="Practical web development roadmap for Absolute beginners" src="https://cdn-images-1.medium.com/max/885/1*rQa1kiUNSuAr407CLifxyg.jpeg" /><figcaption>Practical web development roadmap for Absolute beginners</figcaption></figure><p>Looking for a beginner’s web development tutorial or course? Have you ever wondered how the websites you see online are made? What it takes to build or design such kind of websites? The skills and tools needed for making a website? If your answer is “YES”, then you are in the right place.</p><p>In this web development tutorial course, we will try to keep everything as simple and basic as we can for you. Welcome to our web development tutorial series by MFC’s <a href="https://www.youtube.com/channel/UC8Kfr0Rj4PcZCBsn7hUn4aA">The DevForce</a></p><h3>What Is The Web Development</h3><p><strong>Web development</strong> is just the process developing and maintaining a <strong>website on the internet</strong>. Moreover, It involves three aspects i.e. <strong>front end</strong> (User or <strong>Client-side</strong> or what the user can see on the web); <strong>back end</strong> (<strong>server-side</strong> or Hidden side part of the web) of a website and the database (where website data is stored).</p><p>A <strong>Web developer</strong> is the person, whether developer or an engineer who develops the website. Web developers are categorised into several groups but these three are the main ones: <strong>Front-end web developer </strong>(uses front end technologies to design and develop the client-side of the website), <strong>Back-end web developer</strong> (uses back end technologies to develop the server-side of the website)or <strong>Full-stack developer </strong>(uses both frontend and backend technologies to design and develop the client-side of the website).</p><h3>Web Development Roadmap</h3><p>Therefore, we would like to introduce to you a practical web development tutorial series for those who would like to learn website development as absolute beginners. The DevForce is a youtube channel that will cover practical web development tutorial guides for absolute beginners who want to start a career in web development in 2021.</p><p>Similarly, this course is also appropriate for developers who want specialize in a certain technology stack. In addition, this web development tutorial will provide you with all the basic practical web development skills you need to know. The web development course covers technologies, tools, frameworks as well as the current trends in web development to keep you up to date.</p><p>Firstly, we have a practical web development tutorial guide to help you get a basic understanding of the technologies we will cover. Below is a roadmap to guide you in starting a career in web development.</p><h3>Requirements</h3><ul><li>No programming experience needed.</li><li>A computer with access to the internet</li><li>No paid software required</li><li>We will help you setup and install software.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*py4rNua5DNF3Yt42.png" /></figure><p>By <a href="https://roadmap.sh[/caption]">https://roadmap.sh[/caption]</a></p><p><a href="https://mfc.ke/practical-web-development-tutorial-for-absolute-beginners/">Learn more</a></p><p>Don’t forget to follow us on <a href="https://mediaforcecommunications.medium.com">mediaforcecommunications.medium.com</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c4b1a4e3e661" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Lipa na MPESA STK-PUSH API Integration to your PHP Website]]></title>
            <link>https://mediaforcecommunications.medium.com/lipa-na-mpesa-stk-push-api-integration-to-your-php-website-1b778e525c16?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/1b778e525c16</guid>
            <category><![CDATA[stk-push]]></category>
            <category><![CDATA[mpesa-integration]]></category>
            <category><![CDATA[website-integration]]></category>
            <category><![CDATA[php]]></category>
            <category><![CDATA[mpesa-api]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Wed, 20 Apr 2022 07:30:11 GMT</pubDate>
            <atom:updated>2022-11-03T05:37:56.705Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/885/1*PZISMBRTwfN2o83QHSGA0A.jpeg" /></figure><p>We are going to take you through a step-by-step tutorial for mpesa STK API integration. Mpesa is one of the most convenient ways people make transactions in Kenya. MPESA has come a long way from just sending and receiving the money to making payments to businesses. With the rapid transformation in the e-commerce industry, combined with the COVID-19 pandemic affecting businesses across the world, businesses have moved online. You can now integrate MPESA into your online business for faster transactions with your customers. In this article, we are going to learn how to do the MPESA STK Push API using PHP.</p><h3>Types of Mpesa Integration Services</h3><ul><li><strong>Business-to-Customer Integration (B2C) — </strong>This enables businesses to pay customers directly.</li><li><strong>Business-to-Business Integration (B2B) — </strong>This allows businesses to send money to another business directly from their paybill.</li><li><strong>Customer-to-Business Integration (C2B) — </strong>This allows businesses to receive payments from their customers directly.</li><li><strong>Lipa an MPESA Online</strong> — This allows initiating an M-Pesa transaction on behalf of a customer using STK Push</li></ul><h3>MPESA STK Integration on Daraja</h3><p>Firstly, What is STK push? STK Push is<strong> a prefilled pop-up notification on a customer’s MPESA Menu to confirm the initiated transaction by the merchant by inputting their PIN.</strong></p><p>In MPESA STK API integration, the M-Pesa registered customer gets a pop-up notification to confirm the initiated transaction by the merchant. The transaction is then processed after the customer keys in their MPESA PIN and confirms the transaction. Both the customer and merchant get transaction confirmation messages. <a href="https://developer.safaricom.co.ke/docs#reversal">Learn more about STK push M-PESA API</a>.</p><p>Now that we know the types of MPESA Integration services, the next step is to make sure that we have an account with Safaricom Developers Account. To create an account visit the <a href="https://developer.safaricom.co.ke/">Daraja Safaricom website</a>. If you have an account with Safaricom Daraja you can log in else sign up.</p><p>The next step is to create a new sandbox app by clicking on the <strong>Add a New App </strong>button and give it a name. Ensure you select both <strong>Lipa na Mpesa Sandbox</strong> and <strong>Mpesa Sandbox</strong> and hit Create App button. You will get the following success message. Awesome! Now that we have our app created successfully. Click on your newly created app.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ZdoEV_yENusIlbNl.png" /></figure><p>The<strong> Consumer Key and Consumer Secret </strong>are personal and therefore should be secured and not shared. <a href="https://developer.safaricom.co.ke/docs#introduction">Learn more here</a></p><h3>How to Integrate Lipa na Mpesa STK Push in PHP</h3><p>Firstly, let’s set up your MPESA API Folder: <strong>mpesa.</strong><br> <strong>checkout.php</strong> — This is a sample checkout page for testing the API.<br> <strong>express-stk.php</strong> — This is the code used to initiate the stk push.<br> <strong>confirm-payment.php — </strong>This is the page where the user confirms their transaction<br> <strong>callback.php</strong> — This has the code that receives the result from Safaricom.<br> <strong>status.php</strong> — This has the API code that checks if the transaction was a success<br> <strong>transaction_log</strong> — This file will help us log the result.</p><p><strong>I. Checkout Page</strong></p><p>Your checkout page (<strong>checkout.php)</strong> should be something like this: <a href="https://mfc.ke/lipa-na-mpesa-stk-push-integration-to-your-php-website/">See the code here</a>.</p><p><strong>II. Express STK API file</strong></p><p>When the customer enters the phone number and presses SEND, the POST request will be handled by an external PHP file in the API folder: <strong>express-stk.php:</strong> <a href="https://mfc.ke/lipa-na-mpesa-stk-push-integration-to-your-php-website/">See the code here</a>. At the end of the transaction, the user is redirected to the page <strong>confirm-payment.php</strong> which confirms if the transaction was successful or not.</p><p><strong>III. Callback file</strong></p><p>However, note that the response on the transaction status (whether the customer PAID, CANCELED, or if there was an ERROR) is sent by Safaricom API to your <strong>callback URL</strong> in ou case<strong>, callback.php. </strong>To implement this, the callback URL is supposed to receive this response from Safaricom. Therefore, you need to set up the code in the callback URL such that it receives the response in form of JSON data and then stores it in your database. It<strong> </strong>should be something like this: <a href="https://mfc.ke/lipa-na-mpesa-stk-push-integration-to-your-php-website/">See the code here</a>.</p><p>Your database will have the following columns: <strong>MerchantRequestID, CheckoutRequestID, ResultCode</strong> (0 means successful processing and any other code means an error occurred or the transaction failed.), <strong>ResultDesc, MpesaCode, TransactionDate, </strong>and <strong>PhoneNumber.</strong></p><p><strong>IV. Payment Confirmation page</strong></p><p>Back to the user end, after the stk push is initiated, the user is redirected to the confirmation page <strong>confirmation-payment.php</strong> which should be close to something like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1021/0*E3fOLDzxI-jTqNZk.png" /></figure><p>When the user clicks “Confirm Payment”, we initiate an MPESA Transaction status query to check the status of the transaction (To see if the user actually PAID, CANCELED or if there was an ERROR). This is handled by: <strong>status.php (</strong><a href="https://mfc.ke/lipa-na-mpesa-stk-push-integration-to-your-php-website/">See the code here</a>)</p><p>See also how to integrate it on Laravel: <a href="https://mfc.ke/integrate-mpesa-payment-api-to-your-laravel-website/">MPESA API Integration in Laravel</a></p><p>Don’t forget to follow us on <a href="https://mediaforcecommunications.medium.com/">mediaforcecommunications.medium.com</a></p><p><em>Originally published at </em><a href="https://mfc.ke/lipa-na-mpesa-stk-push-integration-to-your-php-website/"><em>https://mfc.ke</em></a><em> on April 20, 2022.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1b778e525c16" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Integrate MPESA C2B API to your PHP Website]]></title>
            <link>https://mediaforcecommunications.medium.com/integrate-mpesa-c2b-api-to-your-php-website-4046b68ccfc7?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/4046b68ccfc7</guid>
            <category><![CDATA[b2c]]></category>
            <category><![CDATA[intergration]]></category>
            <category><![CDATA[mpesa]]></category>
            <category><![CDATA[api]]></category>
            <category><![CDATA[php]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Thu, 17 Mar 2022 15:01:00 GMT</pubDate>
            <atom:updated>2022-10-05T04:58:12.792Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="MPESA C2B API Integration to your PHP Website" src="https://cdn-images-1.medium.com/max/885/1*PZISMBRTwfN2o83QHSGA0A.jpeg" /></figure><p>In our previous MPESA integration with the PHP article ( <a href="https://mfc.ke/lipa-na-mpesa-stk-push-integration-to-your-php-website/">see here</a>), we introduced mpesa C2B integration. We said that <strong>Customer-to-Business Integration (C2B)</strong> allows businesses to receive payments from their customers directly. Therefore, in this article, we are going to show you mpesa C2B API integration for your PHP Website.</p><h3>C2B Transaction Process</h3><p>When a customer initiates a payment request to your Pay Bill or Buy Goods (Till Number) from their phone, M-PESA receives the request. Secondly, it validates the customer’s PIN, Account Balance, Pay Bill entered, etc. In addition, M-PESA also checks if you have enabled <strong>External Validation</strong> for the C2B. If External Validation is <strong>disabled</strong>, M-PESA completes the transaction. After that, it sends a <strong>Confirmation</strong> notification to the Confirmation URL registered. This only happens when the payment is successful.</p><p>If External Validation is <strong>enabled</strong>:</p><ol><li>M-PESA Holds the Funds tentatively from the customer’s wallet.</li><li>M-PESA then sends a <strong>Validation request</strong> to the Validation URL registered.</li><li>The partner validates the payment request and responds back to M-PESA.</li><li>M-PESA receives the response, processes, and completes the transaction then a notification of the payment is sent to your <strong>registered confirmation URL.</strong></li></ol><p>Finally, M-PESA then sends an SMS notification to both the customer and C2B registered phone number. <a href="https://developer.safaricom.co.ke/Documentation">Learn more here</a></p><h3>Integration</h3><p>First, as usual, we will use pure PHP to integrate the C2B API. We hope you have created an account on Safaricom daraja website and have an active sandbox API.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*w6JL8z_wZaC8yt-Z.png" /></figure><p>Secondly, obtain an access token that you will be used when calling the Mpesa C2B API. For you to obtain this <strong>access_token</strong>, you use the consumer key and secret that will be obtained from your developer account.</p><p>The next step is to register validation and confirmation URLs(links). Why do we do this? The major reason for integrating Mpesa C2B API with your systems is to allow for communication and the exchange of information between the two systems.</p><p><strong>A validation URL</strong> is a link where MPESA sends the transaction details to allow you to verify that they are what you intended after your customer initiates an Mpesa transaction using your pay bill number. For example, you might want to validate the amount being paid. Once you have verified, then you can either decline or accept the payment.</p><p><strong>A confirmation URL</strong> is a link where MPESA sends the details of a completed transaction if you accepted the transaction in the validation stage. At this stage, you might save the data in the database, or perform any other logic for example in e-commerce where you might allow one to access premium products.</p><p>Therefore, what does this Mpesa C2B API integration look like in terms of code? Let’s start with vanilla PHP.</p><p>First of all, let’s look at the initiating stk push code. We saw this in the previous tutorial but let me just post it here again. See full code for <strong>initiateSTK.php </strong><a href="https://mfc.ke/mpesa-c2b-api-integration-to-your-php-website/">here</a>.</p><p>The above code initiates the stk push on the user’s phone. However, note that the response on the transaction status (whether the customer PAID, CANCELED, or if there was an ERROR) is sent by Safaricom API to your <strong>callback URL. </strong>To implement this practice, the callback URL is supposed to receive this response from safaricom. Therefore, you need to set up the code in the callback URL such that it receives the response in form of JSON data and then stores it in your database. If your Callback URL is <a href="https://mydomain.com/TransactionStatus/response,"><strong>https://mydomain.com/TransactionStatus/response,</strong></a><strong> response.php </strong>should be something like <a href="https://mfc.ke/mpesa-c2b-api-integration-to-your-php-website/">this</a>.</p><p>Your database will have the following columns: <strong>MerchantRequestID, CheckoutRequestID, ResultCode</strong> (0 means successful processing and any other code means an error occurred or the transaction failed.), <strong>ResultDesc, MpesaCode, TransactionDate, </strong>and <strong>PhoneNumber.</strong></p><p>Don’t forget to follow us on <a href="https://mediaforcecommunications.medium.com">mediaforcecommunications.medium.com</a></p><p><em>Originally published at </em><a href="https://mfc.ke/mpesa-c2b-api-integration-to-your-php-website"><em>https://mfc.ke</em></a><em> on March 17, 2022.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4046b68ccfc7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why your website does not show on google search (How to Fix It)]]></title>
            <link>https://mediaforcecommunications.medium.com/why-your-website-does-not-show-on-google-search-how-to-fix-it-aa29250a76a?source=rss-e9d2366b3956------2</link>
            <guid isPermaLink="false">https://medium.com/p/aa29250a76a</guid>
            <category><![CDATA[website]]></category>
            <category><![CDATA[website-traffic]]></category>
            <category><![CDATA[how-to]]></category>
            <category><![CDATA[seo]]></category>
            <category><![CDATA[google-search]]></category>
            <dc:creator><![CDATA[MediaForce Communications]]></dc:creator>
            <pubDate>Wed, 09 Feb 2022 08:58:24 GMT</pubDate>
            <atom:updated>2022-10-05T04:33:34.641Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Why your website does not show on google search (How to Fix It)" src="https://cdn-images-1.medium.com/max/885/1*US7tNY7uVQsDoP-MtFyKIQ.jpeg" /></figure><p>It can be really stressful if you open Google and search for your website or keywords related to the content of your website and your site isn’t showing up on Google. Then you begin to wonder, “Why is my website not showing up on Google?! Why is google search not showing my website? Why has my website disappeared from google search? How do I get It to show up on Google?”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*Z-YQpv3YY6k6wfOx.gif" /></figure><p>Well, lucky for you, we have answers! We will even show you why your website is not showing up on google search results.</p><p>First things first, You can find what’s wrong with your website (and increase your Google rankings) using this <a href="https://seositecheckup.com">Website SEO Score Checker</a>.</p><p>Let’s get into the real issue.</p><h3>Reasons your website doesn’t show up on Google Search Results</h3><h4>1. Your website is still new</h4><p>If you launched your site in the last 48hours, then the most straightforward answer is that Google has not found it yet.</p><h4>2. Your website is not indexed yet.</h4><p>Your website may not be indexed yet because it is still new. This means that you do not have many inbound links. Inbound links are links to your website from other websites.</p><h4>3. You are blocking search engines from indexing your Website pages.</h4><p>When you use a “noindex” meta tag, It will tell Google not to show certain pages in the search results. This is a piece of HTML code written as:</p><p>&lt;meta name=”robots” content=”noindex”/&gt;</p><h4>4. Your website isn’t optimized for search engine crawling</h4><p>There is a file named: robots.txt. A <strong><em>robots.txt</em></strong> file tells search engines where they can and can’t go on your site. Google is not able to crawl URLs blocked in your robots.txt file.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/320/0*rR-6wY13R3W-tzc2.png" /></figure><h4>5. Your website is penalized</h4><p>Google can also prevent your website from ranking in Google search results when they penalize you. If your website does not meet Google’s quality guidelines, it may temporarily or permanently bar your website from being indexed in the search results.</p><h4>6. Your content sucks</h4><p>Failing to optimize your website content for search results to Google not display your website as one of the top search results.</p><h4>7. Your website does not provide a good user experience (UX)</h4><p>Search engines want to rank valuable content and websites that provide visitors with a great experience. Therefore, if users don’t have a positive experience on your website, they’ll waste no time hitting the back button. This is a signal to Google that your website does not deliver a good user experience.</p><h4>8. Your website isn’t optimized for search</h4><p>You can have the most beautifully designed website, but without SEO, it won’t rank on Google’s results page. Therefore no one will be able to find your website.</p><h4>How to Get Your Website to Show up on the Search Engines</h4><p>To resolve the issues named above, Try our the solutions mentioned <a href="https://mfc.ke/why-my-website-is-not-showing-in-google-search/">here</a></p><p><em>Originally published at </em><a href="https://mfc.ke/what-is-seo-and-how-does-it-work"><em>https://mfc.ke</em></a><em> on February 9, 2022.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=aa29250a76a" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>