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.