{"id":309574,"date":"2026-05-19T05:37:52","date_gmt":"2026-05-19T05:37:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/moment-payments-for-woocommerce\/"},"modified":"2026-05-19T05:37:36","modified_gmt":"2026-05-19T05:37:36","slug":"moment-payments-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/mg.wordpress.org\/plugins\/moment-payments-for-woocommerce\/","author":23488290,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.5","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Moment Payments for WooCommerce","header_author":"Moment","header_description":"Accept payments via Moment \u2014 one-time checkout with webhook-driven order updates.","assets_banners_color":"000000","last_updated":"2026-05-19 05:37:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/momentco.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":114,"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":"momentco","date":"2026-05-19 05:37:36"}},"upgrade_notice":{"1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3536644,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3536644,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3536644,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3536644,"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":3536644,"resolution":"1","location":"assets","locale":"","width":1280,"height":1619},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3536644,"resolution":"2","location":"assets","locale":"","width":1280,"height":1141}},"screenshots":{"1":"The Moment Payments settings page in WooCommerce.","2":"Moment gateway displayed at block checkout."}},"plugin_section":[],"plugin_tags":[3148,1890,507,27219,286],"plugin_category":[45],"plugin_contributors":[263460],"plugin_business_model":[],"class_list":["post-309574","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-gateway","plugin_tags-payment","plugin_tags-south-africa","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-momentco","plugin_committers-momentco"],"banners":{"banner":"https:\/\/ps.w.org\/moment-payments-for-woocommerce\/assets\/banner-772x250.png?rev=3536644","banner_2x":"https:\/\/ps.w.org\/moment-payments-for-woocommerce\/assets\/banner-1544x500.png?rev=3536644","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/moment-payments-for-woocommerce\/assets\/icon-128x128.png?rev=3536644","icon_2x":"https:\/\/ps.w.org\/moment-payments-for-woocommerce\/assets\/icon-256x256.png?rev=3536644","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/moment-payments-for-woocommerce\/assets\/screenshot-1.png?rev=3536644","caption":"The Moment Payments settings page in WooCommerce."},{"src":"https:\/\/ps.w.org\/moment-payments-for-woocommerce\/assets\/screenshot-2.png?rev=3536644","caption":"Moment gateway displayed at block checkout."}],"raw_content":"<!--section=description-->\n<p>Moment Payments for WooCommerce integrates the <a href=\"https:\/\/momentco.net\">Moment<\/a> hosted checkout into your WooCommerce store. Customers are redirected to a secure Moment-hosted payment page and returned to your store after completion. Order status is driven by signed webhooks \u2014 no polling required.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>One-time payments via hosted checkout redirect<\/li>\n<li>EFT and wallet support<\/li>\n<li>Subscriptions (requires WooCommerce Subscriptions)<\/li>\n<li>Full and partial refunds from the WooCommerce admin<\/li>\n<li>Block checkout and classic shortcode checkout support<\/li>\n<li>HMAC-SHA256 webhook signature verification with replay-attack protection<\/li>\n<li>Configurable verify-on-return API check to close the redirect\u2013webhook race<\/li>\n<li>Admin notices for missing credentials, no HTTPS, and WooCommerce version checks<\/li>\n<li>Debug logging via WooCommerce log viewer (tagged <code>source=moment-payments<\/code>)<\/li>\n<\/ul>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>WordPress 6.0+<\/li>\n<li>WooCommerce 8.0+<\/li>\n<li>PHP 7.4+<\/li>\n<li>A Moment merchant account (<a href=\"https:\/\/momentco.net\">sign up<\/a>)<\/li>\n<li>Store currency must be ZAR<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Moment payments API (https:\/\/api.momentpay.net) operated by Moment. The connection is required for the plugin to function as a payment gateway.<\/p>\n\n<p><strong>What is sent and when<\/strong><\/p>\n\n<ul>\n<li>When a customer places an order, the plugin sends the order ID, order key, currency, amount, customer email, and billing details (name, address) to Moment to create a hosted-checkout payment session.<\/li>\n<li>After the customer is redirected back to the store, if the \"Verify on return\" option is enabled, the plugin queries Moment for the session status using the session ID.<\/li>\n<li>When a card last-4 \/ scheme is needed for display in the WooCommerce admin, the plugin queries Moment for the payment object using its payment ID.<\/li>\n<li>When a merchant issues a refund from the WooCommerce admin, the plugin sends the payment ID, amount, and optional reason to Moment.<\/li>\n<li>Moment delivers signed webhook events (payment_session.updated, payment.refunded) inbound to the plugin's webhook endpoint; the plugin verifies the HMAC-SHA256 signature and updates order status accordingly.<\/li>\n<\/ul>\n\n<p>No card data ever touches the merchant site \u2014 card details are entered only on Moment's hosted checkout pages, which the plugin does not control.<\/p>\n\n<p><strong>Service provider<\/strong><\/p>\n\n<ul>\n<li>Service: Moment \u2014 https:\/\/momentco.net<\/li>\n<li>Terms of service and privacy policy: https:\/\/momentco.net\/legal<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>moment-payments<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments \u2192 Moment Payments<\/strong>.<\/li>\n<li>Enter your Secret Key, Public Key, and Webhook Signing Secret from your Moment merchant dashboard.<\/li>\n<li>Register <code>https:\/\/yourstore.com\/?wc-api=moment_webhook<\/code> as a webhook endpoint in your Moment account.<\/li>\n<li>Enable the gateway and save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20currencies%20are%20supported%3F\"><h3>What currencies are supported?<\/h3><\/dt>\n<dd><p>ZAR (South African Rand) only. The gateway will not appear at checkout on stores configured with a different base currency.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20api%20keys%3F\"><h3>Where do I find my API keys?<\/h3><\/dt>\n<dd><p>Log in to your <a href=\"https:\/\/momentco.net\">Moment merchant dashboard<\/a>, navigate to <strong>Developers \u2192 API Keys<\/strong> for your Secret and Public keys, and <strong>Developers \u2192 Webhooks<\/strong> for the signing secret.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20woocommerce%20subscriptions%3F\"><h3>Does this plugin support WooCommerce Subscriptions?<\/h3><\/dt>\n<dd><p>Yes. Install and activate WooCommerce Subscriptions and the Moment gateway will detect it automatically. Initial subscription payments follow the hosted checkout flow; renewals are charged server-side without customer interaction.<\/p><\/dd>\n<dt id=\"the%20payment%20gateway%20is%20not%20appearing%20at%20checkout.\"><h3>The payment gateway is not appearing at checkout.<\/h3><\/dt>\n<dd><p>Check that: (1) the plugin is activated, (2) the gateway is enabled under WooCommerce \u2192 Settings \u2192 Payments, (3) a Secret Key is configured, and (4) your store currency is set to ZAR.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Hosted checkout redirect via the Moment API.<\/li>\n<li>HMAC-SHA256 webhook signature verification.<\/li>\n<li>Full and partial refund support.<\/li>\n<li>WooCommerce Subscriptions compatibility.<\/li>\n<li>Block checkout and classic shortcode support.<\/li>\n<li>HPOS compatibility declared.<\/li>\n<\/ul>","raw_excerpt":"Accept payments via Moment \u2014 one-time hosted checkout with webhook-driven order updates.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/309574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=309574"}],"author":[{"embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/momentco"}],"wp:attachment":[{"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=309574"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=309574"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=309574"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=309574"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=309574"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=309574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}