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

Настраиваем "Яндекс Деньги для юрлиц"


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

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

 

1. Яндекс тех поддержка отписалась что https выдает 402 ошибку, это само собой про ssl мы забыли совсем он был не установлен на сервере, - сделали, установили.

2. После начала тестов на созданном мною заказе, техподдержкой яндекса присылают мне письмо

 

Уже лучше с ssl, но ваш модуль отклоняет платежи с ответами:
<?xml version="1.0" encoding="UTF-8"?>      <checkOrderResponse performedDatetime="2014-12-12T18:38:26+03:00"      code="200" invoiceId="2000000329147"      message="Оплачиваемый заказ не найден" shopId="23750"/>

 

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

 

Куда копать где рыть?

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

<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>'

 

 

 

Есть решение

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

Проблему решил кто-нибудь?

Было решение этой проблемы, личную переписку стер по этому вопросу, но если не ошибаюсь,  проблема там связана с полями orderNumber и customerNumber, здесь

$order_id = $simpla->request->post('orderNumber', 'integer');
$invoice_id = $simpla->request->post('invoiceId', 'string');

и

$button = '<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="customerNumber" 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>';
		return $button;

Кстати, внимательно прочтите по этим полям в https://money.yandex.ru/doc.xml?id=526240&from=isrch и решение найдется.

Еще вот здесь, по моему, была небольшая ошибка

elseif($_POST['action'] == 'checkOrder')
{
	$datetime = new DateTime();
	$performedDatetime = $datetime->format('c');
	print '<?xml version="1.0" encoding="UTF-8"?> 
	<checkOrderResponse performedDatetime="'.$performedDatetime.'" 
	code="0" invoiceId="'.$invoice_id.'" 
	shopId="'.$shop_id.'"/>';
}

function print_error($text)
{
	$datetime = new DateTime();
	$performedDatetime = $datetime->format('c');
	$shop_id = intval($_POST['shopId']);
	$invoice_id = intval($_POST['invoiceId']);
	
	$responce = '';
	$action = $_POST['action'];
	if($action === 'paymentAviso')
		$responce = 'paymentAvisoResponse';
	elseif($action === 'checkOrder')
		$responce = 'checkOrderResponse';
	

	print '<?xml version="1.0" encoding="UTF-8"?> 
	<'.$responce.' performedDatetime="'.$performedDatetime.'" 
	code="200" invoiceId="'.$invoice_id.'" 
	message="'.$text.'" shopId="'.$shop_id.'"/>';

	exit();
}
Изменено пользователем Akela1
Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

Оченб очень важнО! Решилась ли проблема?

 

Приходилось решать подобные задачи. Как правило, причины неверной работы индивидуальные и у всех разные - до сих пор одинаковых не встречалось.

 

Готов попробовать разрешить вопрос и для Вас.

Потребуется FTP-доступ к сайту.

Если получится - оплата 20$.

 

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

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

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

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

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

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

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

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

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

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