• Resolved Paulo Vieira

    (@gopaulo)


    Hey,
    I’m not sure this is gonna make it your way. I have a comment about your Woocommerce Product Payments plugin

    If the payment fails it takes the user to the view-order and he has the option to review his order and pay again- but at that point the Cart is empty because the order has already gone through and therefore your filter ends up not working and the gateways are shown in that page.

    if you tweak wpppayment_gateway_disable_country you’ll be able to filter all of the gateways out even if the order fails the first time around.

    Here is the updated version. I know it’s not the most elegant but I’m using the $key to get the order id and filter through the items available.


    function wpppayment_gateway_disable_country($available_gateways) {
    global $woocommerce;
    $arrayKeys = array_keys($available_gateways);
    $items = false;
    if(isset($_REQUEST['key'])) {
    $order_id = wc_get_order_id_by_order_key($_REQUEST['key']);
    $order = new WC_Order( $order_id );
    $items = $order->get_items();
    }else {
    if (count($woocommerce->cart))
    $items = $woocommerce->cart->cart_contents;
    }
    if($items){
    $itemsPays = '';
    if (is_array($items)) {
    foreach ($items as $item) {
    $itemsPays = get_post_meta($item['product_id'], 'payments', true);
    if (is_array($itemsPays) && count($itemsPays)) {
    foreach ($arrayKeys as $key) {
    if (array_key_exists($key, $available_gateways) && !in_array($available_gateways[$key]->id, $itemsPays)) {
    unset($available_gateways[$key]);
    }
    }
    }
    }
    }
    }
    return $available_gateways;
    }

    https://wordpress.org/plugins/woocommerce-product-payments/

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author dreamfox

    (@dreamfox)

    Thank you.
    I will give this to our developers

    This scenario has just happened to me – I was struggling to understand how the customer had selected a payment method that was not enabled for a particular product – but they did just so after a failed order.
    I am using 1.2.4
    Has this been solved in the latest release?

    Thanks,

    Paul

    tengalloncat

    (@tengalloncat)

    This is marked as resolved but I just installed this on a client site and it was a total nightmare. They suddenly received a handful of orders for a product that was specifically forbidden by one payment processor. Is the fix in this post verified as working? Is a permanent fix on the way.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Gateway Filtering failing at Review Order Page’ is closed to new replies.