{"id":322787,"date":"2026-10-08T13:40:48","date_gmt":"2026-10-08T13:40:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kwugwo-for-woocommerce\/"},"modified":"2026-10-08T13:40:35","modified_gmt":"2026-10-08T13:40:35","slug":"kwugwo-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kwugwo-for-woocommerce\/","author":23508018,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Kwugwo for WooCommerce","header_author":"Kwugwo","header_description":"Accept bank transfer, USSD and pay-with-bank payments in Nigeria through the Kwugwo checkout, routed to the payment providers you already use.","assets_banners_color":"0d4d3e","last_updated":"2026-10-08 13:40:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kwugwo.africa","header_author_uri":"https:\/\/github.com\/Kwugwo\/kwugwo-for-woocommerce","rating":0,"author_block_rating":0,"active_installs":0,"downloads":80,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"kwugwo","date":"2026-10-08 13:40:35","revision":3734736}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3734736,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3734736,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3734736,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3734736,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3734736,"resolution":"1","location":"assets","locale":"","width":1568,"height":737},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3734736,"resolution":"2","location":"assets","locale":"","width":1568,"height":648},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3734736,"resolution":"3","location":"assets","locale":"","width":1568,"height":737}},"screenshots":{"1":"The secure Kwugwo payment window on the order payment page.","2":"Kwugwo in the WooCommerce payment methods list.","3":"The Kwugwo settings page with the setup checklist and guide."}},"plugin_section":[],"plugin_tags":[127760,5492,1887,187490,286],"plugin_category":[45],"plugin_contributors":[285049],"plugin_business_model":[],"class_list":["post-322787","plugin","type-plugin","status-publish","hentry","plugin_tags-bank-transfer","plugin_tags-nigeria","plugin_tags-payments","plugin_tags-ussd","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kwugwo","plugin_committers-kwugwo"],"banners":{"banner":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/banner-772x250.jpg?rev=3734736","banner_2x":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/banner-1544x500.jpg?rev=3734736","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/icon-128x128.jpg?rev=3734736","icon_2x":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/icon-256x256.jpg?rev=3734736","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/screenshot-1.png?rev=3734736","caption":"The secure Kwugwo payment window on the order payment page."},{"src":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/screenshot-2.png?rev=3734736","caption":"Kwugwo in the WooCommerce payment methods list."},{"src":"https:\/\/ps.w.org\/kwugwo-for-woocommerce\/assets\/screenshot-3.png?rev=3734736","caption":"The Kwugwo settings page with the setup checklist and guide."}],"raw_content":"<!--section=description-->\n<p>Kwugwo for WooCommerce adds Kwugwo as a payment option on your store. Kwugwo is a payment orchestration service for Nigerian businesses: you connect the payment providers you already have accounts with, and Kwugwo routes each payment to the right one. Money settles straight into your own provider account; Kwugwo never holds it.<\/p>\n\n<p>When a customer chooses Kwugwo at checkout, a secure Kwugwo window opens on your store where they can pay by bank transfer, USSD or with their bank app. Their bank details are entered in Kwugwo's window, never on your site.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Secure payment window<\/strong>: customers stay on your store while they pay.<\/li>\n<li><strong>Bank transfer, USSD and pay with bank<\/strong>: offer the methods your providers support, chosen in your Kwugwo dashboard.<\/li>\n<li><strong>Guided setup<\/strong>: a checklist and step-by-step guide on the settings page, a \"Test connection\" button that checks your keys, and a list of your Kwugwo checkouts to pick from, with no IDs to type.<\/li>\n<li><strong>Sandbox and Live<\/strong>: try everything with test payments, then switch to real payments with one setting.<\/li>\n<li><strong>Orders update by themselves<\/strong>: orders are marked paid when Kwugwo confirms the payment, even if the customer closes their browser. A background check every 15 minutes catches any update that was missed.<\/li>\n<li><strong>Safe by design<\/strong>: every payment is confirmed with Kwugwo by your server and checked against the order amount, currency and reference before the order is marked paid.<\/li>\n<li><strong>Refunds from WooCommerce<\/strong>: refund all or part of an order from the order screen.<\/li>\n<li><strong>Classic and block checkout<\/strong>: works with both the classic checkout and the Cart &amp; Checkout blocks, and with High-Performance Order Storage.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WooCommerce, with the store currency set to Nigerian Naira (NGN).<\/li>\n<li>A Kwugwo account with at least one payment provider connected. Sign up at <a href=\"https:\/\/kwugwo.africa\">kwugwo.africa<\/a>.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Kwugwo, a payment orchestration service run by Kwugwo, to take payments. It cannot work without it.<\/p>\n\n<p><strong>Kwugwo API<\/strong> (<code>https:\/\/api.kwugwo.africa<\/code> for Live, <code>https:\/\/sandbox-api.kwugwo.africa<\/code> for Sandbox). Your server sends requests using your secret key:<\/p>\n\n<ul>\n<li>When a customer places an order with Kwugwo: the order amount and currency, the order number and a store reference, a short description containing the order number and store name, and the customer's billing email address. For a new Kwugwo customer, the billing first and last name are also sent.<\/li>\n<li>When a payment is checked (after a webhook, when the customer returns to your store, from the background check every 15 minutes for unpaid orders, or when you click \"Check payment status now\"): the Kwugwo payment ID.<\/li>\n<li>When an unpaid order is cancelled: the Kwugwo payment ID, to cancel the payment request.<\/li>\n<li>When you refund an order: the Kwugwo payment attempt ID, refund amount, reason, a reference and, if you entered one, the customer's bank and account number.<\/li>\n<li>When you save keys or click \"Test connection\" on the settings page: a request listing your Kwugwo checkouts.<\/li>\n<\/ul>\n\n<p><strong>Kwugwo checkout<\/strong> (<code>https:\/\/checkout.kwugwo.africa<\/code>). When the customer reaches the payment page, the plugin opens Kwugwo's secure payment window in a frame. The window receives your public key, the Kwugwo payment ID and your store's web address. The customer enters their payment details there.<\/p>\n\n<p><strong>Webhooks<\/strong>: Kwugwo sends payment updates to your store's webhook URL. No data is sent from your store when receiving them.<\/p>\n\n<p>The service is provided by Kwugwo: <a href=\"https:\/\/kwugwo.africa\/terms\">Terms of service<\/a>, <a href=\"https:\/\/kwugwo.africa\/privacy\">Privacy policy<\/a>.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin adds suggested text to <strong>Settings \u2192 Privacy \u2192 Policy Guide<\/strong> describing the data shared with Kwugwo. It does not track visitors and sends nothing to Kwugwo until a customer chooses Kwugwo at checkout or you configure the plugin.<\/p>\n\n<h3>Source code<\/h3>\n\n<ul>\n<li>Plugin source: <a href=\"https:\/\/github.com\/Kwugwo\/kwugwo-for-woocommerce\">github.com\/Kwugwo\/kwugwo-for-woocommerce<\/a><\/li>\n<li><code>assets\/js\/kwugwo-checkout.js<\/code> is the unminified browser build of the official Kwugwo checkout SDK, <a href=\"https:\/\/www.npmjs.com\/package\/@kwugwo\/checkout\">@kwugwo\/checkout<\/a> 0.1.3 (MIT licence). Its source is at <a href=\"https:\/\/github.com\/Kwugwo\/checkout-js\">github.com\/Kwugwo\/checkout-js<\/a>. To rebuild it, clone that repository, check out version 0.1.3, then run <code>npm ci<\/code> and <code>BUILD_VARIANT=dev npx tsup<\/code>; the file is <code>dist\/kwugwo-checkout.global.js<\/code>.<\/li>\n<li>All other JavaScript and CSS in the plugin is hand-written and not compiled.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New<\/strong>, search for \"Kwugwo for WooCommerce\", then install and activate it.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments \u2192 Kwugwo<\/strong>. The setup checklist at the top shows what is left to do.<\/li>\n<li>Follow the four steps of the setup guide on that page:\n\n<ol>\n<li>Get your Kwugwo account ready: connect your payment provider and create a checkout.<\/li>\n<li>Copy your API keys (public and secret) from the API Keys page of your Kwugwo dashboard, then click <strong>Test connection<\/strong>.<\/li>\n<li>Copy the <strong>Webhook URL<\/strong> shown on the settings page into the Webhooks page of your Kwugwo dashboard, then paste the signing secret back into the plugin.<\/li>\n<li>Place a test order in Sandbox mode, then set <strong>Mode<\/strong> to <strong>Live<\/strong> and add your Live keys and webhook secret.<\/li>\n<\/ol><\/li>\n<li>Tick <strong>Turn on Kwugwo<\/strong> and save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20currencies%20are%20supported%3F\"><h3>Which currencies are supported?<\/h3><\/dt>\n<dd><p>Nigerian Naira (NGN) only, from \u20a6200 to \u20a650,000,000 per order. Kwugwo is hidden at checkout when your store uses another currency.<\/p><\/dd>\n<dt id=\"why%20is%20kwugwo%20not%20showing%20at%20checkout%3F\"><h3>Why is Kwugwo not showing at checkout?<\/h3><\/dt>\n<dd><p>Open the Kwugwo settings and look at the setup checklist. Kwugwo is only shown when it is turned on, the store currency is NGN, and both keys are saved for the selected mode.<\/p><\/dd>\n<dt id=\"what%20is%20the%20webhook%2C%20and%20do%20i%20need%20it%3F\"><h3>What is the webhook, and do I need it?<\/h3><\/dt>\n<dd><p>The webhook is how Kwugwo tells your store that a customer has paid. You should set it up: without it, an order only updates when the customer returns to your store or when the background check runs. Add the Webhook URL from the settings page in your Kwugwo dashboard, once for Sandbox and once for Live, and paste each signing secret into the plugin.<\/p><\/dd>\n<dt id=\"which%20webhook%20events%20should%20i%20choose%3F\"><h3>Which webhook events should I choose?<\/h3><\/dt>\n<dd><ul>\n<li><code>ugwo.successful<\/code> (required): marks the order paid.<\/li>\n<li><code>ugwo.updated<\/code>: updates the order when a payment is cancelled or refunded.<\/li>\n<li><code>ugwo.activity.updated<\/code>: puts the order on hold if the payment provider reverses a payment.<\/li>\n<li><code>ugwo.activity.double_charge_detected<\/code>: warns you when a customer pays twice.<\/li>\n<li><code>refund.successful<\/code> and <code>refund.failed<\/code>: record refund results on the order.<\/li>\n<\/ul>\n\n<p>Sending other events as well does no harm.<\/p><\/dd>\n<dt id=\"an%20order%20is%20still%20%22pending%20payment%22%20but%20the%20customer%20says%20they%20paid.\"><h3>An order is still \"Pending payment\" but the customer says they paid.<\/h3><\/dt>\n<dd><p>Bank transfers and USSD can take a few minutes. Open the order and click <strong>Check payment status now<\/strong> in the Kwugwo payment box. If the payment matches the order, the order moves to Processing.<\/p><\/dd>\n<dt id=\"what%20does%20%22checkout%20%28optional%29%22%20do%3F\"><h3>What does \"Checkout (optional)\" do?<\/h3><\/dt>\n<dd><p>A checkout is a set of payment methods and routing rules you create in your Kwugwo dashboard. Leave it on Automatic to let your routing rules choose, or pick one so that every payment from this store uses it.<\/p><\/dd>\n<dt id=\"a%20refund%20failed%20and%20asks%20for%20the%20customer%27s%20bank%20account.\"><h3>A refund failed and asks for the customer's bank account.<\/h3><\/dt>\n<dd><p>Some providers cannot send money back to a bank transfer or USSD payer on their own. Enter the customer's bank and 10-digit account number in the Kwugwo payment box on the order, click <strong>Update<\/strong>, then refund again.<\/p><\/dd>\n<dt id=\"my%20site%20is%20behind%20a%20firewall.\"><h3>My site is behind a firewall.<\/h3><\/dt>\n<dd><p>Allow requests from Kwugwo's address <code>176.97.192.227<\/code> so webhooks can reach your store.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Accept bank transfer, USSD and pay-with-bank payments in Nigeria, routed through the payment providers you already use.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/322787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=322787"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kwugwo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=322787"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=322787"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=322787"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=322787"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=322787"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=322787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}