Satin or any form of gift wrap ribbons sold at gift stores are often ridiculously overpriced. A good place to get these satin ribbons or beads is from a shop that sells sewing items- the shop would carry variety of ribbons, buttons, zippers, beads, wools, yarns, and even Christmas decorations at a cheaper price.
When I first developed interest in crafing, I went to a lot of places to scout for items that sells at reasonable price- because I initially bought these items using a small part of my holiday jobs that I used to take during semester breaks. Over the years, I try to make some of the items myself and wrap my own gifts. The library and book stores had provided a lot of inspiration and ideas.
I would go to a sewing suppliers in Petaling Street or Masjid Jamek (both located in Kuala Lumpur) to buy beads, ribbons, little gift miniature baskets, etc. You can locate a sewing supplier near you (usually those in department stores are retailers and it can be expensive) to buy if you are buying in bulk. Even a craft store also would charge more for ribbons and beads.
A roll of satin ribbon costs RM0.80- RM1.00 from the supplier (no need to buy in bulk) but costs RM1.80- RM2 from a normal stationery shop.
I have lots of satin ribbons that comes in various hues and beads because having these things inspire me. When I am free (even though I could seldom find the time now), I would create my own hair clips using either beads or ribbon roses.