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

Не работают "Яндекс Деньги" для юр.лиц (YandexMoney)


Перейти к решению Решено Matteus,

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

Добрый всем вечер. 

 

Есть проблема с модулем YandexMoney. Не работает модуль, который был предустановлен в моей версии Simpla 2.3.3. и не работает модуль из самой последней версии Simpla 2.3.6

 

По ошибке из модуля из версии 2.3.3 тех. поддержка яндекса отписалась о следующей ошибке:

---------------------

В ответе от Вашего магазина приходит следующее 
   code="200" invoiceId="2147483647"   message="Контрольная подпись не верна" shopId="19102"/>

code="200"

200 Ошибка разбора запроса ИС Контрагента не в состоянии разобрать запрос. Оператор считает ошибку окончательной и не будет осуществлять перевод.
 

Проверьте логи магазина на Вашей стороне, что бы проверить с чем именно проблема, что не удалось разобрать в запросе.

Проверьте так же формат времени, который магазин передает
performedDatetime="2014-09-09T17:01:14+04:00" - сейчас
performedDatetime="2011-05-04T20:38:01.000+04:00" должно быть. (это пример)


https://money.yandex.ru/doc.xml?id=526537

Спасибо за запрос.

---------------------

 

 

По ошибке модуля 2.3.6. о следующей ошибке:

---------------------

Платежи по прежнему не проходят 

code="200" invoiceId="2147483647"   message="Оплачиваемый заказ не найден" shopId="19102"/>


Спасибо за запрос.
--

---------------------

 

Во вложении два файла callback_2.3.3.php и callback_2.3.6.php

 

Собственно вопроса два:

1. есть ли у кого рабочий модуль или кто знает что нужно и как поправить чтобы работали платежи? У меня у одного такая проблема или нет?

2. как самостоятельно смотреть логи ответа магазина? Тех поддержка яндекса ссылается на документ https://money.yandex.ru/doc.xml?id=526537 и на то чтобы я самостоятельно смотрел логи и разбирался в чем проблема

 

По ошибке 1 (версия 2.3.3) видно что необходима дата в другом формате. Возможно эта единственная ошибка в этом модуле.

 

По ошибке 2 мне кажется неверная строчка кода "$invoice_id = $simpla->request->post('invoiceId', 'string');" Мне кажется тут должно быть integer Но я в этом не уверен.

 

Пожста помогите

 

 

 

 

callback_2.3.3.php

callback_2.3.6.php

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

Поддерживаю!  Точно такая же проблема. 

 

Уже давно поднял эту тему, пожалуйста, помогите разобраться!

Ссылка на сообщение
Поделиться на другие сайты
 
Номер транзакции: 2000000246402
Детали платежа
Федеральный интернет-магазин техники OKI
Реквизиты платежа:
Идентификатор клиента: 2467
Cумма платежа: 29220.00 RUB_DEMO
ФИО:
Адрес клиента:
E-mail:
Заказ:
Номер транзакции: 2000000246402
Юр.лицо: Федеральный интернет-магазин техники OKI
Номер договора: НЭК.1*******

 

Как видно в деталях платежа не передались: заказ, фио, адрем, емэйл. 

Ссылка на сообщение
Поделиться на другие сайты
В рабочем режиме (не тестовом)
Ошибка error_fatal.png
 

Провести платеж не удалось.

Магазин передает некорректные параметры. Пожалуйста,обратитесь в службу поддержки магазина.

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

Модули пишутся на скорую руку для галочки. Качество работы модулей соответствуют скорости их написания. Зато вы получаете в последней версии 15 модулей. Не важно что часть из них не работают. Поддержки никакой.

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

Да, я давно пишу о проблеме. Указывал, что файл оригинальный. 

Очень жду поддержки. 

Понимаю, что есть несколько программистов, которые помогут разобраться за отдельную плату,но, все-таки, хотелось бы, чтоб заявленное работало. 

На Яндексе, кстати, есть инструкция по настройке модуля в симпле!! и там ничего не сказано о том, что нужно лезть в код самому и проверять. Там в инструкции все просто - вводите параметры магазина, способ оплаты (из 5 предложенных- картой, я.деньгами, с мобилы и т.д.) и тестовом режиме должно начать работать. 

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

Добрый всем вечер. 

  

По ошибке модуля 2.3.6. о следующей ошибке:

---------------------

Платежи по прежнему не проходят 

 

code="200" invoiceId="2147483647"   message="Оплачиваемый заказ не найден" shopId="19102"/>

 

 

Спасибо за запрос.

--

---------------------

 

Во вложении два файла callback_2.3.3.php и callback_2.3.6.php

 

Собственно вопроса два:

1. есть ли у кого рабочий модуль или кто знает что нужно и как поправить чтобы работали платежи? У меня у одного такая проблема или нет?

2. как самостоятельно смотреть логи ответа магазина? Тех поддержка яндекса ссылается на документ https://money.yandex.ru/doc.xml?id=526537 и на то чтобы я самостоятельно смотрел логи и разбирался в чем проблема

 

По ошибке 2 мне кажется неверная строчка кода "$invoice_id = $simpla->request->post('invoiceId', 'string');" Мне кажется тут должно быть integer Но я в этом не уверен.

 

Пожста помогите

 

Ошибка не из-за этого

 

"Оплачиваемый заказ не найден"

 

говорит о том что не выполнено условие

 

$order_id = $simpla->request->post('orderNumber', 'integer');
$order = $simpla->orders->get_order(intval($order_id));
if(empty($order))
    print_error('Оплачиваемый заказ не найден');

 

По сути система не может выбрать заказ из базы.
У этого может быть две причины: или номер передается не правильно, или он не передается вовсе.
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Аллилуя! С коллегой разобрались в чем было дело: 

 

в файле yandex.php  генерируется форма и в ней вместо orderNumber было customerNumber

 

Соответственно яндекс не получал номер заказа и не мог идентифицировать заказ. 

Проблема решилась заменой customerNumber на  orderNumber 

Причем сейчас скачал свежую симплу и этот косяк есть в оригинальном файле yandex.php . Почему на это ни кто раньше внимания не обратил.. 

 

 

вот как это выглядит теперь. 

 

<form method="POST" action="'.$payment_url.'">
                    <input type="hidden" name="shopid" value="'.$settings['yandex_shopid'].'">
                    <input type="hidden" name="sum" value="'.$price.'">
                    <input type="hidden" name="scid" value="'.$settings['yandex_scid'].'">
                    
                    <input type="hidden" name="shopSuccessURL" value="'.$success_url.'">
                    <input type="hidden" name="shopFailURL" value="'.$fail_url.'">
                    
                    <input type="hidden" name="cps_email" value="'.htmlspecialchars($order->email,ENT_QUOTES).'">
                    <input type="hidden" name="cps_phone" value="'.htmlspecialchars($order->phone,ENT_QUOTES).'">
                       


                    <input type="hidden" name="orderNumber" value="'.$order->id.'">
                    '.$payment_type.'
                    <input type="hidden" name="cms_name" value="simplacms"/>
                    <input type="submit" name="submit-button" value="'.$button_text.'" class="checkout_button">
                    </form>'
 

 

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

Совершилось. Александр, большое спасибо! Тоже заработало. Но у меня другой модуль YandexMoney.php (Яндекс деньги для юр. лиц), а ошибка та же!

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

Тут стоит еще поразбираться. 

 

 
customerNumber xs:normalizedString, до 64 символов, обязательный Идентификатор плательщика в ИС Контрагента. В качестве идентификатора может использоваться номер договора плательщика, логин плательщика и т. п. Возможна повторная оплата по одному и тому же идентификатору плательщика. orderNumber xs:normalizedString, до 64 символов, необязательный Уникальный номер заказа в ИС Контрагента. Уникальность контролируется Оператором в сочетании с параметром shopId. Если платеж с таким номер заказа уже был успешно проведен, то повторные попытки оплаты будут отвергнуты Оператором.
Ссылка на сообщение
Поделиться на другие сайты

customerNumber - идентификатор клиента. 

 

можно сделать мд5 почты клиента для его идентификации 

 

 

<input type="hidden" name="customerNumber" value="'.md5($order->email).'">
 
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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