I've added manual payments as an option to my checkout so that customers who are doing local pickup have the option to pay cash or E-transfer instead of paying online. However, I only want to provide this option to someone who has selected "Local Pickup" as their delivery method. I don't want to offer manual payments to someone who is ordering a delivered item. Is there a way to hide the manual payments option from customers who are ordering a product with shipping?
I'm open to installing an app to do this, but would prefer not spending money to solve this. I would have thought this would be a basic option within Shopify itself.
Looking forward to hearing some input/solutions.
At this time, we do not have the built-in functionality to show/hide payment methods depending on if the customer selects pickup or shipping at checkout. I understand how that would be a great feature for merchants like yourself to have in order to gain that level of flexibility with your payment needs. I'd be happy to pass this along as feedback up to our developers for potential future implementation.
In the meantime, I have a workaround you can use that should prevent the issue in most cases, which would be someone selecting shipping and then the manual payment method. When you set up a manual payment method, you have the option to create a custom one and give it a name. In the name, you can provide details on who should be selecting the payment method. This will help deter people from making a mistake.
For example, you can give your custom method a name such as "PAY AT PICKUP - FOR LOCAL PICKUP ORDERS ONLY". That way, the customer will see that in big, bold letters so that they can select the appropriate method. From there, you can add further information about the methods of payment you accept at pickup. I've shared a screenshot of the setup in my test store:
I hope this helps! If there is anything else I can help you with, please let me know.
Happy to help, @TerribleToby!
I get where you are coming from. I've gone ahead and passed this feedback up to our development team.