I'm going to travel to Canada and stay there for a long time. I want to buy two rings (the total value is less than 1000 CAD) for my wife and myself, and take them with me to Canada. Besides reporting them to the customs, is it mandatory to pay any fee or duty for the two rings? And will the rings be checked by the border officers? Any suggestion is appreciated, thanks.
I am not a lawyer, but from looking at the instructions to travelers by the Canadian Government, as well as from my personal experience, it seems that the following should work:
You are allowed to bring items with you for your personal use when you enter Canada from the outside. This includes, for example, a laptop, or jewelry. Thus, you should not even have to declare your ring (I was wearing mine each time I entered Canada, never an issue).
The ring for your (future?) wife is a bit more tricky. However, if she stays 48 hours or more abroad with you before the two of you enter Canada, she has an exemption of $800 CAD on goods bought/received, which should cover her ring, if I understand your post correctly, and if you give the ring to her before you travel. She will need to declare the ring, and should ideally have a receipt. If you have had (temporary) residency status when you left Canada, this applies to you, as well, by the way.
If she returns to Canada before you do, and she has stayed abroad for 7 days or more, she can declare the ring, anyway, and have you bring it to Canada on her behalf.
If you fear that this approach may ruin the perfect moment to present the rings, don't despair - you may want to propose (or have her commit to a long-term relationship) before leaving for Canada, anyway, and you can always ask her to hand back the ring so that you can make this "more romantic", which will keep her on her toes for quite a while and allow for a beautiful surprise (10/10, would do again).