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, '.', '' );
}
Не могли бы вы помочь с решением проблемы?
Благодаря!