Menley, I'm going to tell you what my mother and grandmother taught me about accepting things from people.
Offer once to pay. If friend says no, you can say "Are you sure?" and offer again. If friend says no again, let it go and pay her back some other way sometime.
To be honest, if someone bought the yarn for me to make them something and didn't rush me on it, I'd consider that payment enough and wouldn't accept anything else from them either, especially if I was bored enough to finish it that quickly. Don't worry about paying back your friend now, just make sure you treat her for lunch sometime in the future, or something equally nice.