The reason Flying J doesn't take Comdata is a result of a long history of legal disputes between the two parties. Basically, Comdata doesn't want to process the Flying J Fleet cards as fleet cards in the same manner that they process their own cards (and others) at non-Flying J locations. And, Flying J wants to charge Comdata more than Comdata wants to pay for installing Comdata networks at Flying J locations. This has been going on in the courts since 1996. The judge keeps ruling, generally, in Flying J's favor, but Comdata keeps interpreting the rulings on how to implement the changes in such a manner that the judge did not intend, so back to court it goes. It's very complicated and has to deal with how transactions are electronically processed on two fronts, the point-of-sale and the fleet card processing.
In 2001 Flying J was awarded $49 million in damages to be paid by Comdata in the antitrust suit. Comdata announced they would comply
(Comdata Settles Litigation with Flying J 2001), and then promptly refused to comply.
In 2005 they judge re-awarded Flying J the settlement, and clarified how Comdata was to proceed. Comdata has yet to comply.
Basic explanation can be found in the last paragraph here:
Flying J Inc. -- Company History
Full details of the decision (of which the basics are in the first paragraph) here:
Comdata Settles Litigation with Flying J 2005