How to Configure Cash On Delivery Payment Method in Magento 2
Vinh Jacker | 08-11-2016

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.
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
- Step 2: Complete the fields in Cash On Delivery Payment Section
- Step 3: Save the configuration
Step 1: Go to the Cash On Delivery Payment Section
- On the
Admin
sidebar, clickStores > 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, pickYes
to activate Cash On Delivery Payment Method. - In the
Title
field, enter a new title to change or leave the default ofCash On Delivery
to recognize the Cash On Delivery payment method during checkout. - In the
New Order Status
field, setPending
for new orders to wait until receipt of payment is confirmed by admin. - In the
Payment from Applicable Countries
field, chooseAll 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
andMaximum 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).
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:
Restrict Cash on Delivery payment method with Mageplaza Payment Restriction extension
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.
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