{"id":381844,"date":"2026-10-09T13:29:19","date_gmt":"2026-10-09T13:29:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wipay-payment-gateway\/"},"modified":"2026-10-09T20:33:13","modified_gmt":"2026-10-09T20:33:13","slug":"wipay-payment-gateway","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/wipay-payment-gateway\/","author":23254740,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"WiPay Payment Gateway","header_author":"WiPay","header_description":"Accept Multicaixa Express, Refer\u00eancias Multicaixa, \u00e9-Kwanza, PayPay, Unitel Money, Afrimoney and more in WooCommerce through WiPay.","assets_banners_color":"38544c","last_updated":"2026-10-09 20:33:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/developer.wipay.ao\/","header_author_uri":"https:\/\/wipay.ao\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":90,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"sergiomaziano","date":"2026-10-09 13:28:57","revision":3736753},"2.0.1":{"tag":"2.0.1","author":"sergiomaziano","date":"2026-10-09 20:33:13","revision":3737307}},"upgrade_notice":{"2.0.1":"<p>Shows the payment method used (Multicaixa Express, PayPay, \u2026) on orders, and removes development files from the package.<\/p>","2.0.0":"<p>WiPay now uses OAuth2. After updating, enter your Client ID and Client Secret from the WiPay merchant portal under WooCommerce &gt; Settings &gt; Payments &gt; WiPay.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3736740,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3736740,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3736740,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3736740,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3736740,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0","2.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3736782,"resolution":"1","location":"assets","locale":"","width":1433,"height":918},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3736782,"resolution":"2","location":"assets","locale":"","width":1409,"height":1096},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3736782,"resolution":"3","location":"assets","locale":"","width":1402,"height":1070},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3736782,"resolution":"4","location":"assets","locale":"","width":1438,"height":1034}},"screenshots":{"1":"WiPay as a payment option on the checkout page.","2":"The WiPay hosted payment page with the available payment methods.","3":"Confirming the payment with the customer's phone number.","4":"Payment accepted.","5":"Order received page after a successful payment.","6":"Payment expired or not completed."}},"plugin_section":[],"plugin_tags":[222946,141805,164512,6593,286],"plugin_category":[45],"plugin_contributors":[285370],"plugin_business_model":[],"class_list":["post-381844","plugin","type-plugin","status-publish","hentry","plugin_tags-angola","plugin_tags-mobile-money","plugin_tags-multicaixa","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-sergiomaziano","plugin_committers-sergiomaziano"],"banners":{"banner":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/banner-772x250.png?rev=3736740","banner_2x":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/banner-1544x500.png?rev=3736740","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/icon.svg?rev=3736740","icon":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/icon.svg?rev=3736740","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/screenshot-1.png?rev=3736782","caption":"WiPay as a payment option on the checkout page."},{"src":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/screenshot-2.png?rev=3736782","caption":"The WiPay hosted payment page with the available payment methods."},{"src":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/screenshot-3.png?rev=3736782","caption":"Confirming the payment with the customer's phone number."},{"src":"https:\/\/ps.w.org\/wipay-payment-gateway\/assets\/screenshot-4.png?rev=3736782","caption":"Payment accepted."}],"raw_content":"<!--section=description-->\n<p>WiPay Payment Gateway lets WooCommerce stores in Angola and the DRC accept local digital payments through a single integration. Customers pick their preferred payment method on the secure WiPay hosted payment page, and your store is notified the moment the payment completes.<\/p>\n\n<h4>Payment methods<\/h4>\n\n<ul>\n<li><strong>Angola:<\/strong> Multicaixa Express, Refer\u00eancias Multicaixa, \u00e9-Kwanza, PayPay, Unitel Money, Afrimoney<\/li>\n<li><strong>DRC:<\/strong> Illicocash (Rawbank)<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Simple setup<\/strong> \u2013 paste your WiPay Client ID and Client Secret. The plugin creates and renews the OAuth2 access tokens automatically.<\/li>\n<li><strong>Secure callbacks<\/strong> \u2013 every payment notification is verified with an HMAC-SHA-256 signature before the order is updated.<\/li>\n<li><strong>Checkout your way<\/strong> \u2013 the payment page opens in a modal inside the checkout, or in a popup page.<\/li>\n<li><strong>Classic and Blocks checkout<\/strong> \u2013 works with the shortcode checkout and the WooCommerce Cart &amp; Checkout blocks.<\/li>\n<li><strong>HPOS compatible<\/strong> \u2013 supports WooCommerce High-Performance Order Storage.<\/li>\n<li><strong>Sandbox ready<\/strong> \u2013 use your sandbox credentials to test, and your production credentials to go live. No code changes.<\/li>\n<li><strong>Order insights<\/strong> \u2013 the WiPay transaction ID and status are shown on the order screen and in the orders list.<\/li>\n<li><strong>Debug logging<\/strong> \u2013 optional logs under WooCommerce &gt; Status &gt; Logs.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WooCommerce 7.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>An SSL certificate (HTTPS)<\/li>\n<li>A WiPay merchant account \u2013 sign up at <a href=\"https:\/\/wipay.ao\/\">wipay.ao<\/a><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the WiPay payment service, operated by WiPay (Angola), to create payments and receive their results. It is required for the plugin to work.<\/p>\n\n<ul>\n<li><strong>Access tokens<\/strong> \u2013 when you save the settings and when a payment is made, your Client ID and Client Secret are sent to <code>https:\/\/api.wipay.ao\/v1\/credentials\/token<\/code> to obtain short-lived access tokens.<\/li>\n<li><strong>Payment creation<\/strong> \u2013 when a customer places an order with WiPay, the order total, currency, order ID, the customer's billing phone number (or email if no phone is set), and your store's return and callback URLs are sent to <code>https:\/\/api.wipay.ao\/v1\/hosts\/payments<\/code>.<\/li>\n<li><strong>Hosted payment page<\/strong> \u2013 the customer is then shown the WiPay payment page (<code>https:\/\/hosted.wipay.ao<\/code>), where they choose a payment method and confirm the payment. WiPay processes the payment with the selected provider.<\/li>\n<li><strong>Payment notification<\/strong> \u2013 WiPay sends the payment result to your store's callback URL (<code>\/wp-json\/wipay\/v1\/callback<\/code>).<\/li>\n<\/ul>\n\n<p>No data is sent to WiPay until the gateway is configured with credentials. WiPay <a href=\"https:\/\/wiza.ao\/terms-and-conditions.html\">Terms of Service<\/a> and <a href=\"https:\/\/wiza.ao\/privacy-policy.html\">Privacy Policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from <strong>Plugins &gt; Add New<\/strong>, or upload the <code>wipay-payment-gateway<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin. WooCommerce must be active.<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; Payments &gt; WiPay<\/strong>.<\/li>\n<li>Enter the <strong>Client ID<\/strong> and <strong>Client Secret<\/strong> from your <a href=\"https:\/\/portal.wipay.ao\/\">WiPay merchant portal<\/a>.<\/li>\n<li>Enable the gateway and save. The settings page confirms that the credentials work.<\/li>\n<\/ol>\n\n<p>You don't need to configure a callback URL in WiPay: the plugin sends it with every payment.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20wipay%3F\"><h3>What is WiPay?<\/h3><\/dt>\n<dd><p>WiPay is a payment platform that lets businesses in Angola and the DRC accept local digital payments, such as Multicaixa Express and mobile money, through a single API.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20my%20client%20id%20and%20client%20secret%3F\"><h3>Where do I get my Client ID and Client Secret?<\/h3><\/dt>\n<dd><p>In the <a href=\"https:\/\/portal.wipay.ao\/\">WiPay merchant portal<\/a>. The Client ID starts with <code>wp_<\/code> and the Client Secret with <code>WPS_<\/code>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20create%20or%20renew%20tokens%20myself%3F\"><h3>Do I need to create or renew tokens myself?<\/h3><\/dt>\n<dd><p>No. The plugin exchanges your Client ID and Client Secret for OAuth2 access tokens and renews them before they expire. This covers the payment token (1 hour) and the signature token used to verify callbacks (24 hours).<\/p><\/dd>\n<dt id=\"how%20do%20i%20test%20payments%3F\"><h3>How do I test payments?<\/h3><\/dt>\n<dd><p>Enter your <strong>sandbox<\/strong> Client ID and Client Secret. In the sandbox, the customer phone number decides the outcome. 900000000 simulates an accepted payment, 900002004 a timeout and 900003000 a rejection by the customer. Switch to your production credentials to go live.<\/p><\/dd>\n<dt id=\"which%20currencies%20are%20supported%3F\"><h3>Which currencies are supported?<\/h3><\/dt>\n<dd><p>AOA (Angolan Kwanza), CDF (Congolese Franc) and USD.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20blocks%20checkout%3F\"><h3>Does it work with the Blocks checkout?<\/h3><\/dt>\n<dd><p>Yes. It supports both the classic (shortcode) checkout and the WooCommerce Cart &amp; Checkout blocks.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%3F\"><h3>Is it compatible with HPOS?<\/h3><\/dt>\n<dd><p>Yes. It is fully compatible with WooCommerce High-Performance Order Storage.<\/p><\/dd>\n<dt id=\"how%20do%20refunds%20work%3F\"><h3>How do refunds work?<\/h3><\/dt>\n<dd><p>Refunds are processed in the WiPay merchant portal. When you refund an order in WooCommerce, the plugin adds a note to the order as a reminder.<\/p><\/dd>\n<dt id=\"i%20used%20the%20%22wiza%20payment%20gateway%22%20plugin.%20what%20changes%3F\"><h3>I used the \"Wiza Payment Gateway\" plugin. What changes?<\/h3><\/dt>\n<dd><p>WiPay replaces Wiza. After installing WiPay Payment Gateway your title, description and display settings are copied over, but you must enter the new Client ID and Client Secret. The old API key and signature token are no longer used. Payments started with the old plugin are still confirmed. Once the new gateway is configured, deactivate and delete the old Wiza plugin.<\/p><\/dd>\n<dt id=\"what%20does%20it%20cost%3F\"><h3>What does it cost?<\/h3><\/dt>\n<dd><p>WiPay has no subscription fee and charges a small fee per transaction. See <a href=\"https:\/\/wipay.ao\/\">wipay.ao<\/a> for pricing.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li><strong>NEW<\/strong>: The order screen shows the payment method the customer used (e.g. Multicaixa Express, PayPay, Unitel Money). The thank-you page, My Account and order emails show it too, for example \"Digital payment \u2013 Multicaixa Express\".<\/li>\n<li><strong>FIX<\/strong>: Removed development and translation draft files that were included in the 2.0.0 package.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>NEW<\/strong>: Rebranded from Wiza to WiPay.<\/li>\n<li><strong>NEW<\/strong>: OAuth2 authentication. The plugin now only needs your Client ID and Client Secret. Payment and signature access tokens are created, cached and renewed automatically.<\/li>\n<li><strong>NEW<\/strong>: Credentials are checked when the settings are saved, and the diagnostics panel shows the connection status.<\/li>\n<li><strong>NEW<\/strong>: Callback reasons are shown as readable messages in order notes.<\/li>\n<li><strong>NEW<\/strong>: WiPay status column on the HPOS orders screen.<\/li>\n<li><strong>NEW<\/strong>: Settings, history and pending callbacks are migrated from the Wiza plugin.<\/li>\n<li><strong>FIX<\/strong>: Paying again for the same order no longer fails with \"reference already exists\". Each attempt now gets its own WiPay reference (123, 123-1, 123-2\u2026), and the plugin automatically retries with the next reference if WiPay reports a duplicate.<\/li>\n<li><strong>IMPROVED<\/strong>: Rejected or duplicate callbacks no longer change orders that are already paid.<\/li>\n<li><strong>IMPROVED<\/strong>: Payments accepted with an amount that differs from the order total are put on hold for review.<\/li>\n<li><strong>IMPROVED<\/strong>: A clear message is shown when WiPay rate-limits payment requests.<\/li>\n<li><strong>IMPROVED<\/strong>: The plugin is now in English and fully translatable through translate.wordpress.org.<\/li>\n<li><strong>REMOVED<\/strong>: The \"Test mode\" option. Sandbox and production are selected by the credentials you use.<\/li>\n<li><strong>REMOVED<\/strong>: The unused \"Reference prefix\" option.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li><strong>NEW<\/strong>: Compatibility with WordPress 6.9 and WooCommerce 10.4.<\/li>\n<li><strong>NEW<\/strong>: HPOS (High-Performance Order Storage) support.<\/li>\n<li><strong>NEW<\/strong>: WooCommerce Blocks checkout support.<\/li>\n<li><strong>NEW<\/strong>: REST API callback endpoint.<\/li>\n<li><strong>NEW<\/strong>: Debug logging.<\/li>\n<li><strong>IMPROVED<\/strong>: Signature verification and error handling.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Accept Multicaixa Express, Refer\u00eancias Multicaixa, \u00e9-Kwanza, PayPay, Unitel Money and Afrimoney in WooCommerce with WiPay.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381844","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=381844"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sergiomaziano"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381844"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381844"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381844"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381844"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381844"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}