Back to Top

Magento 2 Canada Post Shipping

Updated 25 October 2023

The Magento 2 Canada Post Shipping extension will allow the admin to provide a Canada Post shipping method for shipping the products.

Moreover, the customers will be able to choose this shipping method at the time of checkout for receiving their products via Canada Post Shipping.

This shipping method can be used to receive shipments within Canada and from Canada to other countries as well.


  1. The estimated delivery time shows for Canada, US, and some other International addresses.
  2. The shipping rates are based according to the delivery details and product weight.
  3. If the weight of the product is zero, this shipping method will not work.
  4. An active Business Purpose Canada Post account is required for getting the API credentials.
  5. Rates are calculated using 3 decimals. Examples: for 450 g, enter .45; for 175 g, enter .175; for 10.5 kg, enter 10.5
  6. Maximum weight for a parcel is 30 kg (66 lb.)

Check a brief overview of the plugin –

Searching for an experienced
Magento 2 Company ?
Find out More


  • Admin can enable or disable the Canada Post Shipping method.
  • The admin can set the Canada Post shipping method name that will be shown from the front side.
  • Admin can set packages request type.
  • The origin for Canada Shipping Method must be always Canada.
  • Ability to download Invoices and Shipping Slips easily.
  • Provide accurate Canada Post shipping rates to customers for shipping.
  • Multiple selections of Canada Post shipping methods are displayed on the checkout page.
  • This module can be used to ship the products from Canada to Canada, Canada to other countries.


Customers will get a zip folder and they have to extract the contents of this zip folder on their system. The extracted folder has an src folder, inside the src folder you have the app folder. You need to transfer this app folder into the Magento2 root directory on the server as shown below.


After the successful installation, you have to run these commands in the Magento2 root directory:

First command –

php bin/magento setup:upgrade

Second Command –

php bin/magento setup:di:compile

Third Command –

php bin/magento setup:static-content:deploy

After running the commands, you have to flush the cache from the Magento admin panel by navigating through->System->Cache management as shown below.


Configuration For Multi-Lingual Support

For the multilingual support, the admin will navigate through Store->Configuration->General ->Locale Options and select the locale as German (the language into which admin want to translate his store content).

Language Translation

If you need to do the Magento 2 Canada Post Shipping module translation, please navigate the following path in your system. app/code/Webkul/CanadapostShipping/i18n. Open the file named en_US.CSV for editing as shown in below screenshot.


Once you have opened the file for editing. Replace the words after the comma(,) on the right with your translated words.


After editing the CSV file, save it and then upload it to the same folder. Now your Magento 2 Canada Post Shipping module translation is complete.


Admin Configuration

After the successful installation of the Magento2 Canada Post Shipping module, you will be able to see the configuration panel under Stores>Configuration>Sales>Shipping Methods>Canada Post Shipping.

For proper working of Magento2 Canada Post Shipping, you just need to set Canada shipping origin address from the path Stores> Configuration > Sales > Shipping Settings > Origin. Here admin can enter origin address for Canada shipping.

**Note: You need to set up the allowed currency under Stores->Configuration->General->Currency Setup. Here you will have to select the Canadian Dollar under the Allowed Currencies as per the screenshot below.

Magento2 Marketplace Canada Post Shipping Management

Also, you will have to import the currency rates under Stores-> Currency-> Currency Rates as per the below screenshot.

Magento2 Marketplace Canada Post Shipping Management

How to get Canada Post Credentials

Before doing the module configuration, the admin needs to have the Canada Post credentials. The admin needs API Key, API Password, Customer Number, and Contract/Agreement Number (if any).

 Please Note: – You need Business Purpose Canada Post account to get these credentials.

Create Account:

First, click here to visit the Canada Post homepage. The following page will appear, click Sign In. canada-post-shipping-sign-in

then click Register now to create a new account in the Pop-Up as per below image – canada-post-shipping-register-now

After clicking the Register now, the following page will appear. Fill in the information as required. Please make sure to select Yes for Is this account for business purposes?

profile information

Now, Choose Profile Type as Small Business, and click Select and continue button.

profile type

In this step, enter your contact information- business address, phone, first & last name, job title etc. After filling in all the necessary information click Continue.

contact information

After this information, you will get ” tell us about your business ” page. You can fill it immediately or later.


After providing the contact information, now you will get your Canada Post Customer Number. Please save this as it will be required for this module configuration.

customer number created

Now, you will arrive at the dashboard page after clicking continue in the previous step. Navigate to Business >E-commerce >Integrate with our APIs.


Clicking on Integrate with our APIs, then below page will appear – canada-post-shipping-developer-program

The following page will appear after clicking the Go to Developer Program. Click Join Now for creating API Key and Password.


Here, again click on Join Now – 

canada-post-shipping-business-join-free-1A pop-up window will appear about the Canada Post Developer Program Agreement. After reading the document, please click Agree and Continue.


Finally, you can now have your API Key and API Password. There will be two types of credentials, one for the Development (Test/ Sandbox Mode) and other for Production (Live).


How to get the Agreement/ Contract Number –

If customers wishing to apply for a Commercial Agreement with Canada Post.

For this customer need to meet certain conditions (ship at least 1,250 domestic parcels a year or 100 international parcels )must complete the appropriate Agreement Activation Form.

To apply, Please call at 1-866-757-5480 or contact their Sales Representative.

Once all completed documentation is approved, Canada Post will provide the customer with a copy of all the required documentation, along with a Customer Number, an Agreement Number and any other identification number required. More details please visit here 

Customer Frontend View

When a buyer will place an order of admin’s product, the buyer can see the Magento2 Canada Post Shipping method at the shopping cart page where the buyer can select the shipping method.
The buyer can also see the selected method under the Order Review section.
**Note: In Magento2 Canada Post Shipping module, the Shipping rate will be calculated according to the Admin’s Origin Zip Code, Product Weight, and the Buyer’s Destination Zip Code.

Now, after placing the order the customer can find the order details under the “My Orders” section.

Moreover, the customers can see the details of the selected shipping method with the estimated delivery time(If the admin has set to show the estimated delivery time).
My-Orders-Magento 2 Canada Post Shipping

Admin Management

Now the admin can view the order details under Sales-> Order and here the admin can generate invoices for the ordered products, generate shipment for the order of the products.

Further, the admin can notify the customers by sending them emails, cancel/hold the order and even edit/reorder the product order.


After viewing the order, the admin will create the invoice for the order. The invoice will contain all the shipping information and cost of shipping for that particular order.
After creating the Invoice, the admin will create the shipping for the order by clicking the Ship option. Here, the admin can generate the shipment by checking the “Create Shipment” option and then clicking the “Submit Shipment” button.
Create-Shipment-Magento 2 Canada Post Shipping

Clicking the Submit Shipment button brings a section to create packages. Click the “Add Products To Package” button to add products to the package and select the Contents accordingly.

create package

Note – If the product weight is too low then you might get some warnings –

1.Weight-related warnings – webkul-magento2-marketplace-canada-post-shipping-error-2700


Then you will have to slightly increase or decrease the total weight to create the shipping label. For more information click here.

2.  Non-delivery handling related warning –


If you get the above-mentioned warning then you will have to select one content value out of three (Return at Sender’s Expense, Return to Sender, Abandon) for which shipping label will generate as shown above.

After clicking “Add Products to Package“, you have to check(select) the products to add to the package and then click the “Add Selected Product(s) to Package” button to add the products.

add product

After adding the products to the package, the admin needs to enter the Length, Width, and Height for the package and click the Save button to save the configuration as shown below in the snapshot.

save product-Magento 2 Canada Post Shipping

Further, the admin can generate the shipment label by navigating to the shipments section for the order and clicking the “View” link.
shipping label-Magento 2 Canada Post Shipping

Here, the admin will click on the “Print Shipping Label” to print the shipping label as shown below.
print shipment

Shipping labels

1. Canada to Canada Shipping label
2. Canada to US Shipping Label
Canada-To-US-Magento 2 Canada Post Shipping

That’s all for the Magento 2 Canada Post Shipping extension. Still, have any queries or doubts regarding the extension just get back to us with your views at

Current Product Version - 5.0.2

Supported Framework Version - Magento 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*

Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home

Table of Content