WC_Payment_Gateway
is defined in abstract-wc-payment-gateway.php
and declares a method
function process_payment() {}
while WC_Gateway_BACS
defines it as
function process_payment( $order_id ) { ...
(maybe you mixed up WC_Payment_Gateway and WC_Payment_Gateways).
So, different signature (0 parameters vs 1 parameter) -> strict error.
Since it seems* to be used always with one parameter you could change
function process_payment() {}
to
function process_payment($order_id) {}
(*) keep in mind I know of woocommerce only since the last five minutes, so don't take my word for it.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…