{"id":315618,"date":"2026-06-09T14:47:22","date_gmt":"2026-06-09T14:47:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mozzeno-installment-payment\/"},"modified":"2026-06-09T14:45:41","modified_gmt":"2026-06-09T14:45:41","slug":"mozzeno-installment-payment","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/mozzeno-installment-payment\/","author":23490580,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"mozzeno - installment payment","header_author":"Laxmi Digital","header_description":"Offer your customers flexible payment options with mozzeno. This plugin integrates mozzeno's split payment solution into your WooCommerce store, allowing shoppers to pay in multiple installments while you receive the full payment upfront.","assets_banners_color":"","last_updated":"2026-06-09 14:45:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.mozzeno.com","header_author_uri":"https:\/\/laxmi.digital\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"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":"mozzenoplugin","date":"2026-06-09 14:45:41"}},"upgrade_notice":{"1.0.0":"<p>First stable release submitted to the plugin directory.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3566211,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3566171,"resolution":"1","location":"assets","locale":"","width":1351,"height":872},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3566171,"resolution":"2","location":"assets","locale":"","width":1218,"height":872},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3566171,"resolution":"3","location":"assets","locale":"","width":1407,"height":716},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3566171,"resolution":"4","location":"assets","locale":"","width":1400,"height":787},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3566171,"resolution":"5","location":"assets","locale":"","width":1400,"height":787}},"screenshots":{"1":"<strong>mozzeno &gt; Settings \u2014 General<\/strong> \u2014 Branch ID, sandbox\/live toggle, webhook URL and secret, widget toggles.","2":"<strong>Advanced \/ business rules<\/strong> \u2014 Amount limits, excluded categories, allowed countries, stock reservation duration, stock release status list, shipment-notify statuses.","3":"<strong>Single product<\/strong> \u2014 Product-page mozzeno widget with eligible price.","4":"<strong>Checkout<\/strong> \u2014 mozzeno payment method with simulation \/ copy explaining redirect to mozzeno.","5":"<strong>Simulation widget<\/strong> \u2014 mozzeno financing simulation widget displayed to the customer during the payment flow."}},"plugin_section":[],"plugin_tags":[193715,31366,266340,507,286],"plugin_category":[45],"plugin_contributors":[266341,266342],"plugin_business_model":[],"class_list":["post-315618","plugin","type-plugin","status-publish","hentry","plugin_tags-bnpl","plugin_tags-financing","plugin_tags-mozzeno","plugin_tags-payment","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-laxmidigital","plugin_contributors-mozzenoplugin","plugin_committers-mozzenoplugin"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/icon-256x256.png?rev=3566211","icon_2x":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/icon-256x256.png?rev=3566211","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/screenshot-1.png?rev=3566171","caption":"<strong>mozzeno &gt; Settings \u2014 General<\/strong> \u2014 Branch ID, sandbox\/live toggle, webhook URL and secret, widget toggles."},{"src":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/screenshot-2.png?rev=3566171","caption":"<strong>Advanced \/ business rules<\/strong> \u2014 Amount limits, excluded categories, allowed countries, stock reservation duration, stock release status list, shipment-notify statuses."},{"src":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/screenshot-3.png?rev=3566171","caption":"<strong>Single product<\/strong> \u2014 Product-page mozzeno widget with eligible price."},{"src":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/screenshot-4.png?rev=3566171","caption":"<strong>Checkout<\/strong> \u2014 mozzeno payment method with simulation \/ copy explaining redirect to mozzeno."},{"src":"https:\/\/ps.w.org\/mozzeno-installment-payment\/assets\/screenshot-5.png?rev=3566171","caption":"<strong>Simulation widget<\/strong> \u2014 mozzeno financing simulation widget displayed to the customer during the payment flow."}],"raw_content":"<!--section=description-->\n<p>mozzeno - installment payment connects your store to the mozzeno financing platform. Customers can apply for split payment while you ship according to your usual workflow once financing is confirmed.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>mozzeno payment method at checkout with optional on-checkout simulation widget<\/li>\n<li>Product and cart widgets loading mozzeno's hosted loan widget script<\/li>\n<li>Inbound webhooks (<code>\/wc-api\/mozzeno_webhook<\/code>) to move orders through mozzeno-specific statuses<\/li>\n<li>Outbound webhooks to mozzeno when the merchant updates key order states (for example delivery or cancellation)<\/li>\n<li>Configurable stock reservation and automatic release tied to loan events and cron<\/li>\n<li>Custom order statuses for the full loan lifecycle<\/li>\n<li>Sandbox and live API endpoints<\/li>\n<li>Logging under mozzeno &gt; Logs<\/li>\n<li>HPOS (custom order tables) compatibility declared for WooCommerce<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p><strong>mozzeno widget and redirect scripts (<code>assets.mozzeno.com<\/code>)<\/strong>\nThis plugin loads JavaScript from <code>assets.mozzeno.com<\/code> to display the financing simulation widget on product, cart, and checkout pages, and to handle the payment redirect flow. The scripts receive the loan amount, branch identifier, language, and customer first name, last name, and email address \u2014 but only when the customer initiates the mozzeno checkout flow. No data is sent on page load for widget display alone.\n<a href=\"https:\/\/www.mozzeno.com\/fr\/mentions-legales\/\">Terms of service<\/a> \u2014 <a href=\"https:\/\/www.mozzeno.com\/fr\/vie-privee\/\">Privacy policy<\/a><\/p>\n\n<p><strong>mozzeno API (<code>api.mozzeno.com<\/code> \/ <code>api-dev.mozzeno.com<\/code>)<\/strong>\nOutbound webhooks are sent to the mozzeno API when the merchant updates key order states (delivery initiated, cancellation). The payload includes the order reference and event type. In sandbox mode, requests go to <code>api-dev.mozzeno.com<\/code>; in live mode, to <code>api.mozzeno.com<\/code>.\n<a href=\"https:\/\/www.mozzeno.com\/fr\/mentions-legales\/\">Terms of service<\/a> \u2014 <a href=\"https:\/\/www.mozzeno.com\/fr\/vie-privee\/\">Privacy policy<\/a><\/p>\n\n<p>Select2 for admin multi-select fields is bundled in the plugin and makes no external requests.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>WooCommerce<\/strong>.<\/li>\n<li>Upload the plugin ZIP via <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>, or copy the plugin folder into <code>wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>mozzeno - installment payment<\/strong>.<\/li>\n<li>Open <strong>mozzeno &gt; Settings<\/strong>, set your Branch ID, environment (sandbox or live), and review widget options.<\/li>\n<li>In the mozzeno merchant dashboard, set the webhook URL and shared secret to match the values shown on the settings screen (see FAQ).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20set%20up%20webhooks%3F\"><h3>How do I set up webhooks?<\/h3><\/dt>\n<dd><ol>\n<li>In WordPress, go to <strong>mozzeno &gt; Settings<\/strong> and copy the <strong>Webhook URL<\/strong> (your store\u2019s WooCommerce API URL, ending with <code>\/wc-api\/mozzeno_webhook<\/code>).<\/li>\n<li>Copy the <strong>Webhook secret<\/strong> generated by the plugin (or regenerate it if you rotate credentials).<\/li>\n<li>In the mozzeno dashboard, register the same URL and secret so mozzeno can sign requests with HMAC-SHA256 and your site can verify them.<\/li>\n<li>After saving, trigger a test event from mozzeno (if available) or place a sandbox order and confirm that <strong>mozzeno &gt; Logs<\/strong> shows incoming events without signature errors.<\/li>\n<\/ol>\n\n<p>Outbound calls from your site to mozzeno use the same secret to sign JSON payloads sent to the mozzeno webhook endpoint (<code>api.mozzeno.com<\/code> or <code>api-dev.mozzeno.com<\/code>).<\/p><\/dd>\n<dt id=\"where%20do%20i%20configure%20order%20statuses%20and%20shipment%20notifications%3F\"><h3>Where do I configure order statuses and shipment notifications?<\/h3><\/dt>\n<dd><p>mozzeno adds custom order statuses for the loan lifecycle. WooCommerce core statuses (for example <strong>Processing<\/strong>, <strong>Completed<\/strong>, <strong>Cancelled<\/strong>) still behave as usual.<\/p>\n\n<p>In the gateway and advanced settings you can choose which WooCommerce status should notify mozzeno that delivery has started (<code>order.delivery_initiated<\/code>). Stock release strings for declined or cancelled loans are configurable in advanced options. Always test status changes in sandbox before going live.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20compatible%20with%20other%20plugins%20that%20add%20custom%20order%20statuses%3F\"><h3>Is the plugin compatible with other plugins that add custom order statuses?<\/h3><\/dt>\n<dd><p>Yes, as long as those plugins follow WooCommerce APIs. mozzeno registers its own statuses and maps mozzeno webhook events to them; it does not remove third-party statuses. If another plugin also forces status transitions on the same orders, coordinate rules so two automations do not conflict (for example, avoid duplicate stock changes by testing with your full stack).<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Does the plugin work with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with custom order tables.<\/p><\/dd>\n<dt id=\"what%20are%20the%20default%20financing%20amount%20limits%3F\"><h3>What are the default financing amount limits?<\/h3><\/dt>\n<dd><p>Defaults are configurable in settings; the plugin ships with a broad range suitable for typical mozzeno flows. Adjust min and max to match your contract with mozzeno.<\/p><\/dd>\n<dt id=\"where%20are%20transaction%20and%20log%20records%20stored%3F\"><h3>Where are transaction and log records stored?<\/h3><\/dt>\n<dd><p>Custom database tables are created on activation (<code>mozzeno_transaction<\/code>, <code>mozzeno_log<\/code>, <code>mozzeno_stock_reservation<\/code> with your WordPress table prefix). Logs can be pruned by the plugin\u2019s scheduled tasks according to your configuration.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0 - 2026-04-22<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>WooCommerce payment gateway with redirect flow and HMAC-SHA256 webhook verification.<\/li>\n<li>Product, cart, and checkout widgets via hosted mozzeno script.<\/li>\n<li>13 custom order statuses covering the full mozzeno loan lifecycle.<\/li>\n<li>Inbound webhooks for all loan events, outbound webhooks for delivery and cancellation.<\/li>\n<li>Configurable stock reservation and automatic release via WP-Cron.<\/li>\n<li>Admin logging interface with search, filtering, and automatic 30-day cleanup.<\/li>\n<li>HPOS (High-Performance Order Storage) compatibility declared.<\/li>\n<li>Sandbox and production environment modes.<\/li>\n<\/ul>","raw_excerpt":"Mozzeno split payment for WooCommerce: redirect checkout, widgets, webhooks, stock hold, custom order statuses.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/315618","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=315618"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mozzenoplugin"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=315618"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=315618"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=315618"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=315618"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=315618"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=315618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}