3
0

Merge branch 'main' into 'release'

fix: filter out items with zero price from response

See merge request products/cashier/cms/wordpress/woocommerce!12
This commit is contained in:
Ivan Sadovin 2026-07-16 18:16:47 +03:00 committed by Git Moneta
commit c88b6d3fba
No known key found for this signature in database
GPG Key ID: 72A746BD7C9C5031
2 changed files with 11 additions and 5 deletions

View File

@ -5,7 +5,7 @@
![PHP](https://img.shields.io/badge/PHP-5.6%2B-purple)
![License](https://img.shields.io/badge/License-MIT-green)
> **📦 Версия модуля: 1.5.1**
> **📦 Версия модуля: 1.5.2**
> ** Примечание по валюте**
> Данный модуль работает **только с валютой RUB (Российский рубль)**.

View File

@ -3,7 +3,7 @@
/**
* Plugin Name: Монета | PayAnyWay
* Description: PayAnyWay - Приём платежей для бизнеса на сайтах, в соцсетях и приложениях
* Version: 1.5.1
* Version: 1.5.2
* Author: PayAnyWay
* Author URI: https://payanyway.ru
* Requires Plugins: woocommerce
@ -25,7 +25,7 @@ function woocommerce_payanyway() {
return;
class WC_Payanyway extends WC_Payment_Gateway {
const MODULE_VERSION = '1.5.1';
const MODULE_VERSION = '1.5.2';
const MODULE_NAME = 'payanyway';
const PROD_ENDPOINT = 'https://www.payanyway.ru/assistant.htm';
@ -38,7 +38,7 @@ function woocommerce_payanyway() {
const XML_CONTENT_TYPE = 'application/xml';
const JSON_CONTENT_TYPE = 'application/json';
const TEXT_CONTENT_TYPE = 'text/plain; charset=UTF-8';
const TRANSACTION_ID_STRING_DELIMITER = '|';
const TRANSACTION_ID_STRING_DELIMITER = '_';
const DESCRIPTION_MAX_LENGTH = 500;
const CLIENT_NAME_MAX_LENGTH = 256;
@ -443,7 +443,7 @@ function woocommerce_payanyway() {
$description = $this->isPayedOrder($order) ? 'Order already paid' : 'Order success paid';
if (!$this->isPayedOrder($order)) {
$order->add_order_note(__('Платеж успешно завершен', 'woocommerce_gateway_payanyway'));
$order->update_status(OrderStatus::COMPLETED, __('Платеж успешно оплачен', 'woocommerce_gateway_payanyway'));
$order->update_status(OrderStatus::PROCESSING, __('Платеж успешно оплачен', 'woocommerce_gateway_payanyway'));
$order->payment_complete();
}
@ -602,6 +602,9 @@ function woocommerce_payanyway() {
$name = (isset($item['name'])) ? $item['name'] : $item->get_name();
$price = wc_get_price_including_tax($product);
if (0.0 === $price) {
continue;
}
$quantity = (isset($item['item_meta']['_qty'][0])) ? $item['item_meta']['_qty'][0] : $item->get_quantity();
$rate = $product->is_taxable() ? $this->getItemTaxRate($item) : null;
@ -658,6 +661,9 @@ function woocommerce_payanyway() {
$shippingTotal = (float)$order->get_shipping_total();
$shippingTax = (float)$order->get_shipping_tax();
$shippingPrice = $shippingTotal + $shippingTax;
if (0.0 === $shippingPrice) {
return null;
}
$shippingRate = (0.0 !== $shippingTotal) ? ($shippingTax / $shippingTotal) * 100 : null;