Payment method module configuration

For the sake of compatibility, upgradability and easy maintenance, do not edit the default Magento code; add your customizations in a separate module .

You can use the sample Magento_SamplePaymentGateway module files as basis for your custom module structure and files.

Specify your module dependencies

Your custom payment integration module must have at least the following dependencies:

  • Magento_Sales module: to be able to get order details
  • Magento_Payment module: to use the Magento payment provider gateway infrastructure
  • Magento_Checkout module: to be able to add the new payment method to checkout . If you do not plan to use it on the storefront checkout, this dependency is not required.

Specify these dependencies in your composer.json and module.xml files.


In your %Vendor_Module%/composer.json file, specify the dependencies like in the following example:

    "require": {
        "magento/module-payment": "100.1.*",
        "magento/module-checkout": "100.1.*",
        "magento/module-sales": "100.1.*",


For details about composer.json see The composer.json file topic.


Add the same dependencies in %Vendor_Module%/etc/module.xml like in the following example:

<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_Module" setup_version="2.0.0">
            <module name="Magento_Sales"/>
            <module name="Magento_Payment"/>
            <module name="Magento_Checkout"/>

Your payment method implementation might require adding more dependencies.

What’s next

Payment method configuration.