我试图隐藏付款方式一旦用户点击下单,使用付款方式就可以说' B'在付款失败时返回。
public function process_payment( $order_id ) {
global $woocommerce;
$order = new WC_Order( $order_id );
if($this->api->somemethod()){
// Payment complete
$order->payment_complete();
return array(
'result' => 'success',
'redirect' => $this->get_return_url( $order )
);
}
else {
wc_add_notice( pll__('Payment error: You cannot use this payment method, Choose another method '), 'error' );
return;
}
}
我使用了以下过滤器
add_filter( 'woocommerce_payment_gateways', 'add_gateway_cb' );
但它只适用于页面重新加载。我想要一些适用于Ajax流程支付的东西,或者至少触发支付方法在失败时重新加载。
或者: 我可以在下订单点击时使用自定义JS。