Cookies setting

Cookies help us enhance your experience on our site by storing information about your preferences and interactions. You can customize your cookie settings by choosing which cookies to allow. Please note that disabling certain cookies might impact the functionality and features of our services, such as personalized content and suggestions. Cookie Policy

Cookie Policy
Essential cookies

These cookies are strictly necessary for the site to work and may not be disabled.

Information
Always enabled
Advertising cookies

Advertising cookies deliver ads relevant to your interests, limit ad frequency, and measure ad effectiveness.

Information
Analytics cookies

Analytics cookies collect information and report website usage statistics without personally identifying individual visitors to Google.

Information
mageplaza.com

How to Configure Cash On Delivery Payment Method in Magento 2

Vinh Jacker | 08-11-2016

Configure Cash On Delivery Payment Method - Mageplaza

Cash On Delivery is a type of transaction in which the customer makes payment to the shipping carrier when receiving the goods. This payment method is popular and convenient for buyers who do not prefer online payment methods but still want to send items to a certain address. With Magento Community Edition 2.0, you can accept and adjust Cash On Delivery payments for your store. Cash On Delivery payment method is approved by admins for only customers from specific countries and recipients can make payment by cash, check or money order. Scroll down to see its benefits and tutorials to configure in the default Magento 2 as well as other Magento 2 extensions.

Cash on Delivery (COD) is one of the most reliable payment methods in Magento 2, letting customers pay the shipping carrier only when the order arrives. Beyond convenience, COD brings multiple advantages for merchants and shoppers:

  • Increase conversion rates: Customers who feel uncertain about online transactions are more likely to complete checkout with COD.
  • Build confidence and trust: Paying on delivery reassures non-card users and reduces cart abandonment.
  • Reduce online fraud risks: Payments collected physically protect your store from fake identities and card-processing errors.
  • Avoid card-related issues: Bypass third-party card issuers and their potential disputes or delays.
  • Offer flexibility: Ideal for regions with low card penetration or where online payments are less trusted.

Cash On Delivery Payment Method Process & Benefits

Admins can configure Magento 2 Cash On Delivery payment method to accept payments by cash, check, or money order, and even restrict availability by country for more control. This guide will cover COD benefits, step-by-step setup in Magento 2, and how to expand its capabilities with other extensions.

Read more on other Payment Method Configurations in Magento 2

Benefits of Cash On Delivery Payment Method in e-commerce

Cash on Delivery payment method brings various benefits for merchants:

  • Increase conversion rates: To skeptical customers, giving them more options to feel secure about payment can make them tend to finalize their checkout quickly.
  • Reduce online fraud: Protect your store better with less threats from fake identities
  • Remove card-related issues: If a transaction has problems, a third-party card issuer has to resolve, which makes things harder for everyone.
  • Offer an additional option for those who do not have cards: In other cases, there may be customers who do not use cards, so cash on delivery method can be the solution for them.

Now, let’s see how to create this method in Magento 2.

3 Steps to Configure Cash On Delivery Payment Method

Step 1: Go to the Cash On Delivery Payment Section

  • On the Admin sidebar, click Stores > Settings > Configuration.
  • In the panel on the left, choose Sales > Payment Methods > Cash On Delivery Payment.

Step 2: Complete the fields in Cash On Delivery Payment Section

  • In the Enabled field, pick Yes to activate Cash On Delivery Payment Method.
  • In the Title field, enter a new title to change or leave the default of Cash On Delivery to recognize the Cash On Delivery payment method during checkout.
  • In the New Order Status field, set Pending for new orders to wait until receipt of payment is confirmed by admin.
  • In the Payment from Applicable Countries field, choose All Allowed Countries to accept Cash On Delivery Payment Method for customers from all countries specified in your store configuration or Specific Countries to approve this payment method for some definite countries which you select from the Payment from Specific Countries list.
  • In the Instructions field, enter guidance for the customer to make a Cash On Delivery payment.
  • In the Minimum Order Total and Maximum Order Total fields, set the order amounts required to qualify for this payment method.
  • In the Sort Order field, enter a number to determine the position of Cash On Delivery in the list of payment methods that is shown during checkout (start from 0). Cash On Delivery Payment Method

Step 3: Save the configuration

  • Click the Save Config button in the upper-right corner when you are done.
  • If you are notified to refresh the page cache, go to System > Cache Management > Flush Magento Cache
  • Then you can see the result as below:

Display Cash On Delivery Payment Method in Magento 2

Restrict Cash on Delivery payment method with Mageplaza Payment Restriction extension

Enhance COD with Mageplaza Payment Restrictions

Offering the Cash on delivery payment method without any limits can create risks for your store. High-value orders, certain shipping zones, or specific customer groups may lead to fraud, failed deliveries, or unnecessary costs when COD is enabled everywhere. By restricting COD to selected cases, such as trusted customers, particular locations, or orders within a safe value range, you can keep the convenience of COD while protecting your business from losses. Magento 2’s default setup only allows basic restrictions, which is why extensions like Mageplaza Payment Restriction extension give you more control with advanced, rule-based conditions.

Feature Default Magento 2 Cash On Delivery COD with Payment Restrictions Extension How to Configure
(using Mageplaza Payment Restrictions Extension)
Enable/Disable COD
plus rule-based conditions
Go to `Stores > Config > Sales > Payment Restrictions`, enable COD and add rules
Restrict by Location ❌ (only by country)
by postcode, city, region, or zone
Add condition: Shipping Address: Postcode/Region/City
Restrict by Customer Group
target wholesalers, VIPs, or block guests
Add condition: Customer Group = X
Restrict by Order Value
set min/max order amount
Add condition: Order Amount between X and Y
Restrict by Product/Category
exclude certain products or categories
Add condition: Product Attribute/Category
Restrict by Shipping Method
pair COD with specific carriers
Add condition: Shipping Method = Carrier X
Restrict by Store View/Website Limited
manage per store view or website
Configure under Scope Settings
Time-Based Rules
enable or disable COD on schedule
Set active Date/Time Range for the rule
Risk Management Basic only Advanced – flexible restrictions reduce fraud Combine multiple conditions for fraud-prone orders

Charge an additional fee for using Cash on Delivery as a payment method

Shop owners may take some risk and additional fees when their customers choose the Cash on Delivery payment method. This is the reason why they wan to charge some extra fee when clients choose this kind of payment.

Mageplaza Extra Fee extension can help you do it with ease.

Enhance Cash on Delivery with Mageplaza Extra Fee

While Magento 2 supports Cash on Delivery (COD) out of the box, it doesn’t allow you to add a handling fee for this method. That’s often a problem since COD usually comes with higher costs: extra courier charges, higher risk of order cancellation, and additional manual work. The Mageplaza Extra Fee extension solves this by letting you set up surcharges for any payment method, including COD. You can add:

  • Fixed fees (e.g., +$5 per COD order)
  • Percentage-based fees (e.g., +2% of the order total)
  • Conditional fees (apply only for certain order values, shipping methods, or customer groups)

How to set it up:

  • Install and enable the Extra Fee extension.
  • Go to Stores > Configuration > Sales > Extra Fee.
  • Create a new fee rule and select Cash on Delivery as the payment method.
  • Define the fee type (fixed or percentage) and enter the value.
  • Set any conditions (e.g., fee applies only for orders under $500 or for specific regions).
  • Save changes and clear cache.

From now on, whenever a customer selects COD at checkout, the extra fee will be automatically displayed and added to the order total.

💡 Tips

Combine the Extra Fee extension with the Payment Restrictions extension to both limit Magento 2 Cash on Delivery (COD) availability and cover additional handling costs when it’s enabled.

The bottom line

Cash on Delivery remains one of the most trusted payment options in eCommerce, especially for customers who are hesitant about online transactions. In default Magento 2, with just 3 steps, you can already offer customers a trusted and convenient way to pay on delivery. To make COD even more effective, use Mageplaza’s Payment Restrictions extension to fine-tune availability with flexible rules, and the Extra Fee extension to recover handling costs. These enhancements ensure COD remains both profitable for merchants and reassuring for customers.

Related topics

x
    Jacker

    Jacker is the Chief Technology Officer (CTO) at Mageplaza, bringing over 10 years of experience in Magento, Shopify, and other eCommerce platforms. With deep technical expertise, he has led numerous successful projects, optimizing and scaling online stores for global brands. Beyond his work in eCommerce development, he is passionate about running and swimming.



    Related Post