Перейти к содержанию
Официальный форум поддержки Simpla

Лог ошибок модуля яндекс.деньги


Рекомендуемые сообщения

Добрый вечер!

 

Друзья, может быть кто-то может подсказать где посмотреть по следующему вопросу. К симпле подключен модуль оплаты яндекс.деньгами. И периодически возникают проблемы с оплатой, оказалось оплата не проходит из-за нехватки товара на складе. При этом например при оплате картой через этот модуль - яндекс долго думает, а потом сообщает что произошла техническая проблема и предлагает обратиться в саппорт. 

 

Хранится ли где-то в файлике лог подобных ошибок, где можно было бы посмотреть эту информацию? Чтобы можно было самому смотреть причину не прохождения платежа, а не ждать миллион лет ответа их поддержки?

Изменено пользователем Alexspb
Ссылка на сообщение
Поделиться на другие сайты

если не работает оплата яндекса то там в модуле оплаты небольшая ошибка

в файле yandexmoney.php или yandex.php есть строчка где генерируется кнопка

примерно так:

$button = '<form method="POST" action="'.$payment_url.'">
....

и там есть 

<input type="hidden" name="customerNumber" value="'.$order->id.'">

вот его заменить на 

<input type="hidden" name="orderNumber" value="'.$order->id.'">

и все будет работать.

ну еще на хостинге у вас должен быть установлен сертификат ssl

 

а проверка наличия:

в коллбек.пхп изменить вот так

////////////////////////////////////
// Проверка наличия товара
////////////////////////////////////
$purchases = $simpla->orders->get_purchases(array('order_id'=>intval($order->id)));
foreach($purchases as $purchase)
{
	$variant = $simpla->variants->get_variant(intval($purchase->variant_id));
	if(empty($variant)/* || (!$variant->infinity && $variant->stock < $purchase->amount)*/)
	{
		print_error("Нехватка товара $purchase->product_name $purchase->variant_name");
	}
}

Изменено пользователем batanov
Ссылка на сообщение
Поделиться на другие сайты

 

если не работает оплата яндекса то там в модуле оплаты небольшая ошибка

 

а проверка наличия:

в коллбек.пхп изменить вот так

////////////////////////////////////
// Проверка наличия товара
////////////////////////////////////
$purchases = $simpla->orders->get_purchases(array('order_id'=>intval($order->id)));
foreach($purchases as $purchase)
{
	$variant = $simpla->variants->get_variant(intval($purchase->variant_id));
	if(empty($variant)/* || (!$variant->infinity && $variant->stock < $purchase->amount)*/)
	{
		print_error("Нехватка товара $purchase->product_name $purchase->variant_name");
	}
}

 

 

Спасибо.

 

Модуль у меня работает в основном, и сертификат установлен. По наличию товара у меня другая история немного, связанная с синхронизацией в сервисе МойСклад. Вопрос заключается в том - ведется ли где-то в системных файлах симплы лог-файл ошибок оплаты и их причин? Т.к. яндекс со своей стороны просто говорит о проблеме, но никак не отражает ее сути.

 

 

А что именно делает фрагмент пхп, который вы предложили добавить? На какой стадии он проверяет нехватку товара и в какой ситуации об этом сообщает?

Ссылка на сообщение
Поделиться на другие сайты

Вопрос заключается в том - ведется ли где-то в системных файлах симплы лог-файл ошибок оплаты и их причин?

Нет, такого удовольствия не предоставлено. И это, конечно, плохо...
Ссылка на сообщение
Поделиться на другие сайты

Спасибо.

 

Модуль у меня работает в основном, и сертификат установлен. По наличию товара у меня другая история немного, связанная с синхронизацией в сервисе МойСклад. Вопрос заключается в том - ведется ли где-то в системных файлах симплы лог-файл ошибок оплаты и их причин? Т.к. яндекс со своей стороны просто говорит о проблеме, но никак не отражает ее сути.

 

 

А что именно делает фрагмент пхп, который вы предложили добавить? На какой стадии он проверяет нехватку товара и в какой ситуации об этом сообщает?

этот кусок кода проверят наличие товара, что б оплата не ушла в обработку если нет наличи на складе...  и нужно не добавить а сравнить что у вас есть с этим, и сделать вот так

if(empty($variant)/* || (!$variant->infinity && $variant->stock < $purchase->amount)*/
Ссылка на сообщение
Поделиться на другие сайты
  • 2 года спустя...

Вопросм решен. Может понадобиться тем, кто пользуется Яндекс.Кассой и собирается отправлять чеки клиентам по новому закону 54-ФЗ.

 

в файле payment/YandexMoney/YandexMoney.php после

$payment_type = ($payment_sitemode)?$settings['yandex_paymenttype']:'';

вставляем

$purchases = $this->orders->get_purchases(array('order_id'=>$order->id));

$customerContact = ($order->email)?htmlspecialchars($order->email, ENT_QUOTES):htmlspecialchars(preg_replace("/[-+() ]/",'',$order->phone), ENT_QUOTES);

$items = array();
foreach($purchases as $purchase) {
	$quantity = $purchase->amount;
	$amount = $purchase->price;
	$text = ($purchase->variant_name)?htmlspecialchars($purchase->product_name, ENT_QUOTES).' '.$purchase->variant_name:htmlspecialchars($purchase->product_name, ENT_QUOTES);
	$items[] = '{ "quantity": '.$quantity.', "price": {"amount": '.$amount.', "currency": "RUB"}, "tax": 1, "text": "'.$text.'"}';
}

далее в кнопку $button перед

<input type="submit" name="submit-button" value="'.$button_text.'" class="checkout_button btn"> 

добавляем

<input type="hidden" name="receipt" value="{ "customerContact": "'.$customerContact.'", "items": ['.implode(',',$items).'] }"/> 

В цене товара не учитываются скидки или купоны, поэтому этот вопрос решайте отдельно, в зависимости у кого как реализовано.

 

 
В итоге получим в форме оплаты список товаров для передачи данных в чек согласно инструкции от Яндекса.
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...