Nick here from Shopify. Great question.
This is something which Canada Post seems to offer and your best bet would be to talk to them directly about it for more details. You can see the Canada Post COD form here.
Canada Post also has a full guide on how to send and receive your payment after delivering the product which you can read here.
All the best, Nick
Once the COD amount is collected by the Canada Post guys, it is sent to the nearest CP branch. There the payment is realised and after deducting handling charges, Canada Post sends the remaining money to the store owner. Usually this is in cash. However, if you are not comfortable with it, you can call them and try to get this changed to a bank transfer. In addition to this, COD payments sometimes fails as the customer refuses to acknowledge the payment made. In such cases, you can use the IVRS module of the Multi Carrier Shipping label app that can call the customer and instantly take a confirmation about whether the order was actually placed by the customer or not. This saves you the pickup charge as if the order has to be refunded, usually carriers don't refund the pickup charge.