Coinpayments/Woocommerce - разрешение платежей с нулевой стоимостью заказа от продуктов и взимание платы только за доставку

Мы проводим кампанию, в рамках которой люди могут попробовать наши продукты бесплатно и заплатить только за доставку. Он отлично работает с Stripe Gateway, который большинство наших клиентов используют для оформления заказа, но мы сталкиваемся с проблемой с Coinpayments. Coinpayments не разрешает заказы, в которых стоимость продуктов равна нулю, даже если мы берем дополнительную плату за доставку.

Плагин отправляет клиенту следующее сообщение:

"ОШИБКА: для кнопки не задано значение" amountf "или сумма <= 0 (а allow_amount установлен на 0)!"

Я считаю, что нам нужно изменить следующий код или создать фильтр:

    if ($this->simple_total) {
        $coinpayments_args['item_name']     = sprintf( __( 'Order %s' , 'woocommerce'), $order->get_order_number() );
        $coinpayments_args['quantity']      = 1;
        $coinpayments_args['amountf']       = number_format( $order->get_total(), 8, '.', '' );
        $coinpayments_args['taxf']              = 0.00;
        $coinpayments_args['shippingf']     = 0.00;
    } else if ( wc_tax_enabled() && wc_prices_include_tax() ) {
        $coinpayments_args['item_name']     = sprintf( __( 'Order %s' , 'woocommerce'), $order->get_order_number() );
        $coinpayments_args['quantity']      = 1;
        $coinpayments_args['amountf']       = number_format( $order->get_total() - $order->get_total_shipping() - $order->get_shipping_tax(), 8, '.', '' );
        $coinpayments_args['shippingf']     = number_format( $order->get_total_shipping() + $order->get_shipping_tax() , 8, '.', '' );
        $coinpayments_args['taxf']              = 0.00;
    } else {
        $coinpayments_args['item_name']     = sprintf( __( 'Order %s' , 'woocommerce'), $order->get_order_number() );
        $coinpayments_args['quantity']      = 1;
        $coinpayments_args['amountf']       = number_format( $order->get_total() - $order->get_total_shipping() - $order->get_total_tax(), 8, '.', '' );
        $coinpayments_args['shippingf']     = number_format( $order->get_total_shipping(), 8, '.', '' );
        $coinpayments_args['taxf']              = number_format( $order->get_total_tax(), 8, '.', '' );
    }

Не могли бы вы помочь с решением проблемы?

Благодаря!

0 ответов

Другие вопросы по тегам