This is more about performance and integrity, much less about scalability.
As payment appears to be more fundamental than purchase, it would be reasonable to do just the opposite: have the foreign key pointing to payment in purchase table. Even if you have some purchase without payment (bonus, free gift, anything), you still can use your null.
Having the back reference from purchase to payment (to be able to quickly find the payment by some purchase) may not really help you. Here is why: for better flexibility, you should not assume pure
injective function from purchase to payment; this should really be the
many-to-many relationship. Indeed, some purchase can be payed off in more than one payment; and some payment can be done to cover more than one purchase. So, ultimately, develop the database scheme with many-to-many relationship between the two. Please see:
https://en.wikipedia.org/wiki/Many-to-many_%28data_model%29[
^].
—SA