I would ask them to go with you to choose the yarn. That way, they will see how much the yarn costs, and should be willing to pay for it right there. Then, the only thing left to charge them for is your time. You can talk to them about how long it should take to make, then work out something that will be feasible.
Or, you could find out something they could do for you in return. Maybe they have a skill that could be bartered.
Once, I bartered piano lessons for getting someone to paint my house.
(I taught their 2 children for a specified time in exchange.)