WooCommerce Conditional Payments Pro uses payment gateway IDs to control payment methods. For example, the gateway ID for bank transfer is bacs, and for check payments, it’s cheque. This works for most payment methods, but some gateways have dynamic IDs that aren’t available in the backend. For instance, a payment method might appear as paypal in the backend but have variations in the frontend, such as paypal_cc and paypal_invoice. This can prevent Conditional Payments Pro from properly controlling the payment method.
You can inspect payment gateway IDs by enabling debug mode at WooCommerce > Settings > Payments > Conditions > Debug mode. When enabled, payment gateway IDs will be visible at checkout:
If you have only one payment method available in the backend, but multiple methods appear at checkout, you will need to register custom payment gateway IDs. You can do this with the following code snippet:
<?php
add_filter( 'wcp_payment_method_options', function( $methods ) {
// Register custom payment methods here
$methods['everypay_bank'] = 'EveryPay Bank';
$methods['everypay_card'] = 'EveryPay Card';
$methods['everypay_apple'] = 'EveryPay Apple';
return $methods;
} );
The snippet can be added using Code Snippets or a similar plugin. The example above registers three new payment gateways: everypay_bank, everypay_card, and everypay_apple. These will appear as separate payment methods in the backend:

This allows you to control payment gateways that use dynamic IDs.