We will be in a process of migrating solution made with Sitecore Commerce 8.2.1 to Sitecore Commerce 9 Update 1 soon.
One of the requirements was to handle all orders without payment using Commerce server basically as "ordering" system. After order was created, we called external webservice that notified financial systems on company side and invoice was generated outside of Sitecore Commerce. This was more B2B commerce system.
We were doing this by creating "fake" federated payment with same amount of money (for products and shipping) to even it and be able to order. Without this we couldn't create order. This was a temporary fix to this problem.
During upgrade, we would like to optimize this to be more transparent to all parties. So if no payment is made in Sitecore Commerce we also won't do any "fake" payment with federated payment.
Would it be possible to achieve this by turning off payment policy or how can we achieve this ordering scenario without payments?