User Tools

Site Tools



See the way the Cash on Delivery extension works.

Guide for Cash on Delivery for Magento 2

Provide your customers with a convenient payment method. Turn potential customers into regular once and boost your sales with the Cash on Delivery extension for Magento 2.

  • Let customers pay to a shipping carrier after receiving goods
  • Set extra fees for using Cash on Delivery payment method
  • Restrict payment method to certain locations based on zip codes
  • Flexibly link cash on delivery to your shipping methods


To configure the extension, please go to Stores → Configuration → Payment Methods and expand the Cash on Delivery Payment by Amasty tab.

Step 1. Set the general settings of the module

Enabled - set to Yes to activate the extension.

Title - specify the payment method title on the checkout page. Cash On Delivery is set by default.

New Order Status - choose the status of the new order until the payment is completed: Pending or Processing.

Payment from Applicable Countries - set to All Allowed Countries if you want to offer ‘Cash on Delivery’ payment method for customers from all countries. If not, choose the Specific Countries option in this tab.

Payment from Specific Countries - select the countries for which cash on delivery will be allowed.

Step 2. Customize order conditions and Cash on Delivery fee

Instructions - fill in the guide or conditions for your customers to make a payment or provide them with some additional information about the COD method in your store.

Minimum Order Total - specify the minimum order amount required for the method to be applied.

Maximum Order Total - set the maximum order amount acceptable for cash on delivery payment method.

Sort Order - specify the position of the ‘Cash on Delivery’ in the payment methods list on the checkout page. Here 0 is the first position.

Enable Cash on Delivery Fee - activate this option to add an extra fee for using the COD method.

Cash on Delivery Fee Label - customize COD fee label that will be displayed in the order summary block.

Cash on Delivery Fee Type - set extra fees for using Cash On Delivery payment method as a fixed amount or as a percentage.

This feature is highly important for EU tax laws compliance. Adjust this setting according to local tax laws. Learn more about EU Tax Guidelines on official Magento website.

If you've configured fees as Fixed Amount, set Cash on Delivery fee in your currency units. Use floating-point numbers only, up to 2 digits after the point. The numbers should be greater than 0.

Then, choose whether to include or to exclude the tax into Cash on Delivery fee calculation.

If the setting is set to Include Tax, then taxes will be included in the cost of initial cash on delivery fee. For example, if the fee amount is $10, Tax=10%, then the Fee Amount visible for end-user will be $9.09 Fee + $0.91 Tax. In Order Total it will be shown as $10.

If the setting is set to Exclude Tax, then taxes will be excluded from fee calculation. For example, the Fee Amount is $10, Tax=10%. Then, an end-user will see Fee Amount of $10 Fee + $1 Tax. In Order Total it will be shown as $11.

Tax Class for Fixed Fee - this setting is only displayed when the Cash on Delivery Fee Type is set to Fixed Amount. Choose the appropriate class for the COD tax. If set to None, the tax won't be calculated.

Due to Magento 2 peculiarities, in the shopping cart and on the checkout page the Subtotal will be displayed as Exclude Tax. This means that customers will see the costs of Exclude Tax in Subtotals.

If you've configured fees as Percent, set Cash on Delivery fee as a percentage of cart subtotal. Use floating-point numbers only, up to 2 digits after the point. The numbers should be greater than 0.

Decide, whether to calculate Cash on Delivery fee based on Cart Subtotal including or excluding tax.

To set more flexible fees, use the Extra Fee for Magento 2 extension.

Step 3. Specify the restrictions for the payment method

Enable Postal Code Verification for Customers - enable this option to specify particular postal codes for which ‘Cash on Delivery’ payment method will be allowed. If disabled, all postal codes are acceptable.

Address Type to Validate - if postal code verification is enabled, define which address type should be validated: Billing Address or Shipping Address.

Allowed Postal Codes - specify postcodes eligible for Cash on Delivery. Enter a comma-separated list of individual codes you want to allow. Write down codes separated with a slash “/” symbol to allow the range of codes to save time and authorize the entire state or country. For example, the entry '73001/73199' means that all codes from 73001 to 73199 including, are allowed for Cash On Delivery. If you want to allow all postal codes, disable Postal Code Verification for Customers.

Allowed Shipping Methods - allow ‘Cash on Delivery’ payment to All Allowed Shipping Methods or to the Specific Shipping Methods.

Specific Shipping Methods - choose shipping methods for which cash on delivery will be allowed. Select all or clear the selection to allow all shipping methods.

If you want to apply more restrictions, please use Payment Restrictions extension for Magento 2.

Hit the Save Config button in the upper-right corner.

Frontend examples

On the checkout page customers can choose Cash on Delivery payment method and see the instructions with additional information regarding COD (e.g. Extra fee is charged when you pay on delivery).

Customers can check the Cash on Delivery payment availability in their region by entering a ‘ZIP code’ in a summary block on a shopping cart page.

Define your delivery schedule and exclude specific days or hours when delivery is unavailable with Amasty Delivery Date for Magento 2 extension.

Find out how to install the Cash on Delivery extension via Composer.

Rate the user guide
 stars  from 2 votes (Details)
magento_2/cash-on-delivery.txt · Last modified: 2020/11/30 11:30 by tihomirova