[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"integrations:item:en:drupal":3,"integrations:siblings:en":112},{"id":4,"title":5,"body":6,"description":70,"extension":71,"faq":72,"integrationKind":85,"meta":86,"modifiedAt":87,"navigation":88,"pairId":89,"path":90,"platform":91,"publishedAt":92,"relatedPath":60,"repoPath":93,"requirement":94,"seo":95,"seoTitle":96,"settings":97,"sitemap":100,"slug":101,"stem":102,"steps":103,"summary":12,"translationSlug":101,"webhook":110,"__hash__":111},"integrations_en\u002Fen\u002Fintegrations\u002Fdrupal.md","Accepting payments on Drupal",{"type":7,"value":8,"toc":63},"minimark",[9,13,18,36,40,47,50,54],[10,11,12],"p",{},"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.",[14,15,17],"h2",{"id":16},"what-the-module-does","What the module does",[19,20,21,25,33],"ul",{},[22,23,24],"li",{},"Adds a settings page for the MulenPay keys in the admin panel.",[22,26,27,28,32],{},"Exposes ",[29,30,31],"code",{},"mulen_payment.service"," with a payment-creation method that returns a payment link.",[22,34,35],{},"Registers the callback endpoint that MulenPay posts payment statuses to.",[14,37,39],{"id":38},"what-you-will-have-to-write","What you will have to write",[10,41,42,43,46],{},"Worth being straight about this: in the base version the callback controller only logs the incoming data to Drupal. Updating the order status in your system is on you — in the same ",[29,44,45],{},"callback()"," method.",[10,48,49],{},"Separately, verify the signature of the incoming request before changing anything in the database from it: without that check the endpoint accepts whatever arrives.",[14,51,53],{"id":52},"who-it-suits","Who it suits",[10,55,56,57,62],{},"This is the option for sites where the commerce side is custom-built rather than assembled from a ready store. If you want full control over the flow, look at the ",[58,59,61],"a",{"href":60},"\u002Fpayment-api","payment API"," as well — the module essentially wraps it.",{"title":64,"searchDepth":65,"depth":65,"links":66},"",2,[67,68,69],{"id":16,"depth":65,"text":17},{"id":38,"depth":65,"text":39},{"id":52,"depth":65,"text":53},"The MulenPay payment module for Drupal: install into modules\u002Fcustom, a settings page with Shop ID and Secret Key, and a webhook endpoint for statuses.","md",[73,76,79,82],{"question":74,"answer":75},"Is there a ready-made payment button?","No. The module exposes a payment-creation service, and the call is embedded into your site code — this is a developer integration, not an out-of-the-box solution.",{"question":77,"answer":78},"Where does the module go?","Into the modules\u002Fcustom directory, after which it is enabled on the Extend page (\u002Fadmin\u002Fmodules).",{"question":80,"answer":81},"Where are the keys configured?","Under Configuration → Web services → Mulen Payment Settings.",{"question":83,"answer":84},"Where do I get the Shop ID and Secret Key?","In the MulenPay dashboard, under the store API keys.","method",{},null,true,"integration-05","\u002Fen\u002Fintegrations\u002Fdrupal","Drupal","2026-08-12","drupal\u002Fmodules\u002Fcustom\u002Fmulen_payment","A service call from your own code",{"title":5,"description":70},"Drupal acquiring: the MulenPay payment module",[98,99],"Shop ID — your store identifier in MulenPay","Secret Key — the secret key from your dashboard",{"loc":90},"drupal","en\u002Fintegrations\u002Fdrupal",[104,105,106,107,108,109],"Copy the mulen_payment folder into the modules\u002Fcustom directory of your site.","Open the Extend page in the admin panel (\u002Fadmin\u002Fmodules).","Find the Mulen Payment module and enable it.","Go to Configuration → Web services → Mulen Payment Settings and fill in the keys.","Call the mulen_payment.service service from your own code to create a payment.","Set the callback address in your MulenPay dashboard.","https:\u002F\u002Fyour-site.com\u002Fpayments\u002Fcallback","43Yco8cyEnjcrPRpDvk-92_6w7-x_Xbr5p1FKyk2AOc",[113,119,124,129,134,135,140,145,151,156,161,166,171,176],{"pairId":114,"slug":115,"platform":116,"summary":117,"integrationKind":118},"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":120,"slug":121,"platform":122,"summary":123,"integrationKind":118},"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":125,"slug":126,"platform":127,"summary":128,"integrationKind":118},"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":130,"slug":131,"platform":132,"summary":133,"integrationKind":118},"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":89,"slug":101,"platform":91,"summary":12,"integrationKind":85},{"pairId":136,"slug":137,"platform":138,"summary":139,"integrationKind":85},"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":141,"slug":142,"platform":143,"summary":144,"integrationKind":85},"integration-07","insales","InSales","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.",{"pairId":146,"slug":147,"platform":148,"summary":149,"integrationKind":150},"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":152,"slug":153,"platform":154,"summary":155,"integrationKind":150},"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":157,"slug":158,"platform":159,"summary":160,"integrationKind":150},"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":162,"slug":163,"platform":164,"summary":165,"integrationKind":150},"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":167,"slug":168,"platform":169,"summary":170,"integrationKind":150},"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":172,"slug":173,"platform":174,"summary":175,"integrationKind":150},"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":177,"slug":178,"platform":179,"summary":180,"integrationKind":150},"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."]