[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"integrations:item:en:insales":3,"integrations:siblings:en":140},{"id":4,"title":5,"body":6,"description":97,"extension":98,"faq":99,"integrationKind":112,"meta":113,"modifiedAt":114,"navigation":115,"pairId":116,"path":117,"platform":118,"publishedAt":119,"relatedPath":82,"repoPath":120,"requirement":121,"seo":122,"seoTitle":123,"settings":124,"sitemap":128,"slug":129,"stem":130,"steps":131,"summary":12,"translationSlug":129,"webhook":138,"__hash__":139},"integrations_en\u002Fen\u002Fintegrations\u002Finsales.md","Accepting payments on InSales",{"type":7,"value":8,"toc":90},"minimark",[9,13,18,46,53,57,69,73,76],[10,11,12],"p",{},"InSales connects not through a plugin but through a small Node.js relay service: the store sends the buyer to its address, the service creates the payment in MulenPay, and after payment it records the transaction on the InSales order.",[14,15,17],"h2",{"id":16},"how-the-flow-works","How the flow works",[19,20,21,25,33,36,43],"ol",{},[22,23,24],"li",{},"The buyer places an order and picks MulenPay as the payment method.",[22,26,27,28,32],{},"InSales redirects them to your service at ",[29,30,31],"code",{},"\u002Fpayments\u002Fpay"," with the order parameters.",[22,34,35],{},"The service creates the payment in MulenPay and redirects the buyer to the payment page.",[22,37,38,39,42],{},"After payment MulenPay posts a notification to ",[29,40,41],{},"\u002Fwebhooks\u002Fmulenpay",".",[22,44,45],{},"The service creates a transaction on the matching InSales order.",[10,47,48,49,52],{},"The link between payment and order rests on the InSales order id — it is passed in the ",[29,50,51],{},"uuid"," field when the payment is created.",[14,54,56],{"id":55},"what-you-need-to-run-it","What you need to run it",[58,59,60,63,66],"ul",{},[22,61,62],{},"A server with Node.js 18 or newer, reachable from the internet over HTTPS.",[22,64,65],{},"MulenPay credentials: API key, shop id and the signing secret.",[22,67,68],{},"InSales API credentials: store domain, key and application password.",[14,70,72],{"id":71},"what-to-keep-in-mind","What to keep in mind",[10,74,75],{},"The service is a separate application, not a store extension: it has to live somewhere and stay up. If it goes down, buyers cannot reach the payment page, and notifications about payments already made never reach the orders.",[10,77,78,79,84,85,89],{},"For simpler cases look at the ",[80,81,83],"a",{"href":82},"\u002Fpayment-api","payment API"," directly or at ",[80,86,88],{"href":87},"\u002Fpayment-link","payment links"," — neither needs a server of your own.",{"title":91,"searchDepth":92,"depth":92,"links":93},"",2,[94,95,96],{"id":16,"depth":92,"text":17},{"id":55,"depth":92,"text":56},{"id":71,"depth":92,"text":72},"InSales integration with MulenPay through a Node.js service: redirecting the buyer to checkout, handling the webhook and creating a transaction.","md",[100,103,106,109],{"question":101,"answer":102},"Can I skip running my own server?","No. The integration relies on a middleman service that creates the payment and records the transaction on the order. If you would rather avoid a server, use a payment link or the API directly.",{"question":104,"answer":105},"What happens if the service goes down?","Buyers cannot proceed to payment, and notifications about completed payments never reach the orders. The service needs monitoring.",{"question":107,"answer":108},"Which credentials are required?","MulenPay keys from the dashboard plus InSales API access: the store domain, the application key and password.",{"question":110,"answer":111},"How is an order matched to a payment?","By the InSales order id — it is passed in the uuid field when the payment is created.","method",{},null,true,"integration-07","\u002Fen\u002Fintegrations\u002Finsales","InSales","2026-08-12","in_sales","Your own server with Node.js 18 or newer",{"title":5,"description":97},"InSales acquiring: the MulenPay payment integration",[125,126,127],"MulenPay API Key, Shop ID and signing secret — from your dashboard","InSales store domain — the address of your store","InSales API key and application password — access to the store API",{"loc":117},"insales","en\u002Fintegrations\u002Finsales",[132,133,134,135,136,137],"Deploy the service from the in_sales folder on a server with Node.js 18 or newer.","Fill in the environment variables following .env.example.","Set the MulenPay credentials — API Key, Shop ID and the signing secret.","Add the InSales API credentials — store domain, key and application password.","In the InSales payment method settings, point to the \u002Fpayments\u002Fpay address of your service.","Set the webhook address in your MulenPay dashboard.","https:\u002F\u002Fyour-service.com\u002Fwebhooks\u002Fmulenpay","6ZbYHzrHPpQC_1-DyWTY3IX_dbaQbim2inY6yMmu3_A",[141,147,152,157,162,167,172,173,179,184,189,194,199,204],{"pairId":142,"slug":143,"platform":144,"summary":145,"integrationKind":146},"integration-01","wordpress","WordPress","MulenPay connects to WordPress through a ready-made payment gateway for WooCommerce: the plugin adds a payment method to the standard checkout, creates the payment and updates the order status from the webhook itself. There is no integration to write from scratch.","checkout",{"pairId":148,"slug":149,"platform":150,"summary":151,"integrationKind":146},"integration-02","1c-bitrix","1C-Bitrix","1C-Bitrix has a ready-made module: it adds MulenPay to the store's payment systems, redirects the customer to the payment page and updates the order status itself once the payment is confirmed.",{"pairId":153,"slug":154,"platform":155,"summary":156,"integrationKind":146},"integration-03","opencart","OpenCart","The OpenCart module adds MulenPay to the payment methods and lets you control when it shows: a minimum order total, a geo zone and the status assigned to an order once it is paid.",{"pairId":158,"slug":159,"platform":160,"summary":161,"integrationKind":146},"integration-04","prestashop","PrestaShop","The module for PrestaShop 1.7+ and 8.x creates the order in an awaiting-payment status, builds the payment through the MulenPay API and, once confirmed, moves the order to \"Payment accepted\" — or to \"Cancelled\" if the payment was cancelled.",{"pairId":163,"slug":164,"platform":165,"summary":166,"integrationKind":112},"integration-05","drupal","Drupal","The Drupal module provides a payment-creation service and a ready webhook endpoint. Unlike out-of-the-box store modules, you wire the payment call into your own code — the module gives you a method, not a checkout button.",{"pairId":168,"slug":169,"platform":170,"summary":171,"integrationKind":112},"integration-06","joomla","Joomla","The Joomla module installs as a regular zip archive and exposes a helper that returns a payment link. You embed the pay button into your own e-commerce component — the module handles creating the payment, not the checkout.",{"pairId":116,"slug":129,"platform":118,"summary":12,"integrationKind":112},{"pairId":174,"slug":175,"platform":176,"summary":177,"integrationKind":178},"integration-08","tilda","Tilda","There is no ready-made payment module for Tilda — the platform connects payment systems from its own fixed list. You can still accept payments: a payment link is created in the MulenPay dashboard and attached to a button in any block.","link",{"pairId":180,"slug":181,"platform":182,"summary":183,"integrationKind":178},"integration-09","amocrm","amoCRM","There is no ready-made amoCRM app, and manager-led sales hardly need one: a payment link is created in the MulenPay dashboard and sent to the client straight from the deal card — by email, chat or messenger.",{"pairId":185,"slug":186,"platform":187,"summary":188,"integrationKind":178},"integration-10","bitrix24","Битрикс24","Bitrix24 is a CRM and should not be confused with 1C-Bitrix: an online store on 1C-Bitrix has a ready-made payment module, while in the CRM payment is sent to the client as a link from the deal card.",{"pairId":190,"slug":191,"platform":192,"summary":193,"integrationKind":178},"integration-11","getcourse","GetCourse","We have no ready-made payment module for GetCourse: the platform works with its own list of payment systems. Payments can still run through a payment link — it is sent to the student by email or messenger, and access is granted once the payment is confirmed.",{"pairId":195,"slug":196,"platform":197,"summary":198,"integrationKind":178},"integration-12","modx","ModX","We have no ready-made payment module for ModX. There are two working paths: the quick one is a payment link on a button, and the thorough one is an API integration your developer builds into the site or into an add-on such as miniShop2.",{"pairId":200,"slug":201,"platform":202,"summary":203,"integrationKind":178},"integration-13","moodle","Moodle","We have no ready-made payment plugin for Moodle. You can take money through a payment link and enrol the student once the payment is confirmed, or automate it by building your own enrolment plugin on top of our API.",{"pairId":205,"slug":206,"platform":207,"summary":208,"integrationKind":178},"integration-14","webflow","Webflow","A ready-made payment module for Webflow does not exist and cannot: the built-in store works only with the platform own list of payment services. You can still accept payments through a payment link placed on a button of an ordinary page, bypassing the built-in cart."]