Hi is it possible, for example, that credit card & twint (my payment methods) are only possible when shipping is selected and cash payment as an additional option only appears when i select pick-up. It makes no sense that customers can select cash payment when i ship them items.
Shipping this Options should be available:
-TWINT (Swiss Payment Method)
Pick Up this options should be available:
-Cash Payment (but just for the pick up option)
Unfortunately it's not possible to show the Cash Payment option only for Pick Up orders, this is because all payment methods in Shopify are global and they will be shown to every customer and it's not possible to hide them unless your are on Shopify Plus.
The only option I can suggest you is to add a notice to your Cash Payment method so that when your customers select Cash Payment at checkout they know that they can only use it for Pick Up orders
To do this open your Payment Settings by going into Settings -> Payments and click on the 'Edit' button on the right of your Cash Payment method
Then on the popup that appears you can add instructions like these ones on the 'Additional details' field:
These Additional details will appear when a customer selects Cash Payment at checkout and your customer will read them before completing the order.
I know this is not a perfect solution but unfortunately it's the only way to achieve this right now.
Hope this helps!