Would it be considered as a bad practice to have multiple nullable FKs on a table in SQL Server
I'd question why you have OrdersForProductX tables at all
It's possible the FK problem you've asked about can be designed out...

If these tables have the same structure, then you simply need a ProductType column on some OrderProduct table. Then Payment just links to that with one FK

If the table have different structures, I assume they have some common attributes. So, you can have a common OrderProduct table then specific child table per product type (see below) Again, Payment just links to the commone table with one FK

This is the "superkey/subtype pattern"


UQ1 is the "super key" used a foreign key on the subtype tables
Each subtype table has a composite PK and FK on (OrderID, ProductType)
Each subtype table has a CHECK constraint to restrict types in that table


OrderProduct


OrderID, PK, UQ1
ProductType, UQ1
CommonThing1
...


OrderProductA


OrderID, PK, FK
ProductType, PK, FK, CHECK ProductType = A
ProductAThing1
...


OrderProductB


OrderID, PK, FK
ProductType, PK, FK, CHECK ProductType = B
ProductBThing1
...