How to conditionally enable or show specific payment methods

Using the Conditional Payments for WooCommerce plugin, you can configure specific payment gateways to display only when certain conditions are met. Follow these steps:

1. Access Conditional Payments Rules: Navigate to WooCommerce > Settings > Payments > Conditions and click the Add New button.

Admin: Add new rule

2. Activate and Name the Rule: Turn on the rule status and provide a descriptive name, such as "Enable Check Payments for Orders Above $100."

Admin: Enable rule status and set rule name

3. Set Conditions: Define the conditions under which the payment method will be shown. For example:

  • Cart-Based: Cart subtotal is greater than $100.
Admin: Set rule conditions

4. Add Enable Action: In the Actions section, select Enable Payment Methods and choose the gateway(s) to activate for the defined conditions.

Admin: Set rule actions

5. Save and Apply: Save your changes. The rule will now dynamically enable the specified payment method under the defined conditions.

Front: Checkout page with applied rule

📌 Example Use Case #1: Enable PayPal for High-Value Orders

If your store policy requires only secure methods for large transactions, set the condition "Cart Subtotal > $200" and the action "Enable PayPal" to ensure this payment gateway appears for such orders.

📌 Example Use Case #2: Show Cash on Delivery for Local Deliveries

Restrict the Cash on Delivery method to local customers by setting the condition "Shipping Method = Local Pickup" and enabling the Cash on Delivery gateway.

📌 Example Use Case #3: Allow Bank Transfer for Wholesale Buyers

For wholesale customers, create a rule with the condition "User Role = Wholesale" and enable the Direct Bank Transfer option to suit their transaction preferences.

This approach allows you to tailor payment options, improving the user experience and aligning with your store requirements.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.