Обновленный протокол Яндекс.Деньги 3.0 позволяет использовать разные типы оплаты:
- Собственно Яндекс.Деньги;
- Банковские карты;
- Платежи через терминалы;
- Мобильные платежи.
Для подключения нового протокола Яндекс.Деньги в интернет-магазине на платформе 1С-Битрикс нужно создать новую платежную систему и выбрать обработчик
[spoiler]
Проверьте, отвечает ли ваш сайт по протоколу https. Это обязательное условие для приема платежей по протоколу Янедекс.Деньги 3.0.
Можно использоваться самоподписанный SSL-сертификат или нашу
Далее укажите Идентификатор магазина в ЦПП, Номер витрины магазина в ЦПП, которые вы должны получить от Яндекса при заключении договора, и Пароль магазина (shopPassword) из анкеты магазина для Яндекса.
Для каждого типа отплаты необходимо будет создать свой обработчик и выбрать требуемый тип оплаты.
Чтобы протестировать оплату нужно поставить значение “Y” в поле Тестовый режим. При отправке заявки на подключение протокола Яндекс.Деньги 3.0 вам придет специальная ссылка, используя которую вы пополнить баланс вашего кошелька для теста на 1000 рублей.
В настройках модуля Интернет-магазин можно переопределить пути к страницам с сообщением об успешной оплате или ошибке.
Всё. Настройка окончена.Пользуйтесь
Клиентам, подключившим предыдущую версию Яндекс.Денег (1.6), не обязательно переходить на версию 3.0. Т.е. обе версии поддерживаются, как Яндекс.Деньгами, так и 1С-Битрикс: Управление сайтом. НО в версию 1.6 не добавляется возможность использовать оплату, кроме Яндекс.Деньги. Новые клиенты этой платежной системы подключаются по протоколу 3.0.
В поставку продукта 1С-Битрикс: Управление сайтом обработчик Яндекс.Денег (3.0) выйдет в 14.0.0 версии модуля Интернет-магазин (sale). До выхода этого обновления (предполагаем, в конце месяца выйдет в альфе) обработчик можно запросить через Техническую поддержку.
Вот, что бы это форма была простая, нужно сказать Яндексу, что у вас магазин на Битрикс.
Есть только поле "Путь к пользовательским файлам-обработчикам платежных систем:"
Не подскажете почему такое может быть?
Чтобы эти поля появились обработчик должен быть Яндекс.Деньги 3.0? Обновил Битрикс до 14-го обработчик 3.0 не появился. Где его можно взять?
Бета будет доступна для всех в ближайшее время (точнее даты нет), по релизу пока затруднюсь, но после беты думаю достаточно быстро.
25.10.2013 11:00:24
Яндекс пока пробует данную схему, если у вас будут сложности или не совсем удобно, напишите мне на адрес myth@bitrix.ru ваши данные, я отправлю их руководству Яндекс Денег, они заинтересованы в отлаживание схемы взаимодействия и упрощение ее для владельцев Битрикса.
Сейчас подключаем яндекс кассу и нам прислали полную анкету, после уточнения что у нас 1С-Битрикс, попросили всё равно заполнить все поля.
Я обновился до 14.0.6 но обработчик как на
не появился?
Еще, подключил
и указан Тестовый режим Y но при оплате говорит
А если убрать Тестовый режим то ЯД говорит что магазин передал неправильные параметры?
Спасибо
не появился?
Обработчики в списке выходят без сортировки, он может быть в середине списка, как у меня на картинке:
Если у вас все же нет обработчика в списке, обратитесь в нашу техническую поддержку.
По второму вопросу, если вы подключаетесь к Яндексу только сейчас, то для вас работает протокол 3.0, и старый обработчик с ним работать не умеет, поэтому будут ошибки.
Теперь работает.
А почему ЯД 3.0 не в стабильной версии битрикса?
Кто сталкивался с этой проблемой?
Нашел более интересную вещь: На ЯД 3.0 Функция проверки HTTPS обращается в /bitrix/admin/sale_pay_system_edit.php
А там прописан
А оказывается там файл sale_ps_result.php в папке /bitrix/tools/ физически не существует =))
Создал с echo 'yes'; и вдруг проверка успешно =))
Я скопировал их сюда из /bitrix/modules/sale/install/tools
С обработчиком Яндекс деньги (старый) вот такая картина
А с 3.0 вот такая
Подскажите где что править, куда копать? А то я устал ковырять модуль сале =((
Прошу помощи тех, кто уже успешно подключил ЯД к магазину через 3.0
Ошибка у ЯД "Ой! Ничего не получится Техническая ошибка: сервер магазина временно недоступен. Попробуйте повторить платеж немного позже." все еще актуальна.
Обработчик оплаты настроен на /opata/result.php
Проверка HTTPS работает, Ошибки не выдает, выдает успешно
В ТП ЯД ответили что проблема с ССЛ сертификатом, на вопрос: "Пойдет ли самоподписанный сертификат" сказали Да.
Я их взял из демо версии сайта.
Артем, а можете прислать эти три файла из демо-версии. А то мне негде нарыть их.
glenru@me.com
Буду очень благодарен ))
Zagdmit@yandex.ru
andreivadimovich@gmail.com
sale_ps_success.php или sale_ps_result.php ?
Файлы есть, но при открытии пустая страница.
Я так понял что для paymentAvisoURL и checkURL это страница sale_ps_result.php
а для перенаправления пользователя по завершении платежа - sale_ps_success.php
Что там должно отображаться? У меня пустая страница, хотя в файле код имеется
Все включил по статье, появилась кнопка оплатить, нажимаю , захожу в тестовый аккаунт яндекса (акк они дали), и вижу ошибку " Техническая ошибка: сервер магазина временно недоступен. Попробуйте повторить платеж немного позже. "
Поддержка яндекса пишет:
sale_ps_result.php
sale_ps_fail.php:
Начал ковырять и обнаружил следующее:
Яндекс касса обращается к файлу sale_ps_result.php и получает в ответ html вместо xml.
В файле идет проверка на наличите нужного заказа в БД.
$arOrder = CSaleOrder::GetByID(intval($_REQUEST["orderNumber"]));
Если его нет, то компонент bitrix:sale.order.payment.receive не подключается.
Начал смотреть почему так происходит. Оказывается при нажатии кнопки оплатить уходит форма с данными заказа. Так вот, в id заказа подставляется id платежной системы, а в id платежной системы - id заказа
'orderNumber' => '6',
'customerNumber' => '29',
В файле
/bitrix/modules/sale/payment/yandex_kassa/payment.php
есть такие строки
$customerNumber = CSalePaySystemAction::GetParamValue("ORDER_ID";);
$orderNumber = CSalePaySystemAction::GetParamValue("ORDER_PAYMENT_ID";);
Видимо проблема в этом
Если непонятно:
Например, по шаблону у меня номер заказа 9931, а ID заказа 9925, вот когда я нажимаю Оплатить, на Яндекс полетит номер заказа 9931, и в модуле магазина, в платежках запрашивается информация GetByID(9931), соответственно подставятся данные из заказа с ID 9931(если он есть в системе), вместо ACCAUNT_NUMBER = 9931
Эта ошибка все еще живет в Битриксе и никто ее уже не исправит, пока не установим новый модуль магазина, где те же самые проблемы с платежками. Занавес...
Какое- нибудь есть решение?
В ЯД говорят что таймаут соединения, типа sale_ps_result.php по https недоступен, хотя использую VM5 и не думаю что там этого не предусмотрели. Проверка по HTTPS говорит "Успешно!"
измучалась с эти яндексом, измучила яндекс, битрикс и хостинг. У меня 14.9.1, все файлы есть, ssl нормальный, https проверка успешно, обработчик яндекс 3.х, а в итоге ничего не работает - редиректы с success и fail ошибка 302, яндекс предложил "закомментировать (поставить в начале строки символы //):
Строку "LocalRedirect($failPath);" в файле bitrix/tools/sale_ps_fail.php (т .е . будет "// LocalRedirect($failPath);");
Строку "LocalRedirect($successPath);" в файле bitrix/tools/sale_ps_success.php (т .е . будет "// LocalRedirect($successPath);")"
Ответ 200. Но по факту просто перестало переадресовывать нормально на сайт после успешного/неуспешного платежа.
Теперь ошибка на result......
[B]У меня возникло подозрение, а функционирует ли этот обработчик «Работа через Центр Приема Платежей на демосайте яндекс.деньги
Я измучалась с эти яндексом, измучила яндекс, битрикс и хостинг. У меня 14.9.1, все файлы есть, ssl нормальный, https проверка успешно, обработчик яндекс 3.х, а в итоге ничего не работает - редиректы с success и fail ошибка 302, яндекс предложил "закомментировать (поставить в начале строки символы //):
Строку "LocalRedirect($failPath);" в файле bitrix/tools/sale_ps_fail.php (т.е. будет "// LocalRedirect($failPath);");
Строку "LocalRedirect($successPath);" в файле bitrix/tools/sale_ps_success.php (т.е. будет "// LocalRedirect($successPath);")"
Ответ 200. Но по факту просто перестало переадресовывать нормально на сайт после успешного/неуспешного платежа.
Теперь ошибка ошибка на result......
У меня возникло подозрение, а функционирует ли этот обработчик " Выберите обработчик ---- Пользовательские ---- ---- Системные ---- authorize.net (authorizenet)MoneyMail (moneymail)Счет (bill)betaling.viborgnet.dk (betaling)ИМПЭКСБанк (mcsecure)Укрэксимбанк (eximb)КредитПилот (kreditpilot)Счет (Английский) (bill_en)Квитанция Сбербанка (sberbank)Наличный расчет (cash)Оплата через WebMoney (webmoney)Яндекс.Деньги 3.x (yandex_3x)Квитанцiя Ощадбанка (oshadbank)Наложенный платеж добавляющий стоимость заказу (payment_forward_calc)Яндекс.Деньги (paycash)Импэксбанк (impexbank)RBK Money (rbkmoney)ChronoPay (chronopay)Предоплата через Яндекс (yandex_prepay)Наложенный платеж (payment_forward)bill_deAssist (assist)PayPal (paypal)Почтовый перевод (post)Деньги@mail.ru (money.mail)Бином (binom)Квитанция Сбербанка (sberbank_new)Оплата через WebMoney (PCI) (webmoney_pci)Оплата через WebMoney (Web) (webmoney_web)PayMaster (paymaster)WorldPay (worldpay)Счет (Украинский) (bill_ua)Оплата через Z-PAYMENT (z_payment)Payflow Pro (payflow_pro)LiqPAY.com (liqpay)Qiwi Wallet (qiwi)Яндекс.Деньги (yandex)RoboKassa (roboxchange)
Работа через Центр Приема Платежей
на демосайте яндекс.деньги
В анкете яндекса уберите из адреса сайта www. Т.е было в адресе сайта - хттп://ввв.имя_сайта.ру - а вы делаете хттп://имя_сайта.ру.
Т.е покупатель выбрал оплата ЯД, оплатил заказ - и только тогда из него вычлось 3 %.
Какое событие использовать ?
2. При проверке в обработчике - ошибка
3. Пробую проверить "ручками"
Чаще всего проблема именно в редиректе
может кому-то поможет... у нас был компонент в хедере, который редиректил запросы, поэтому до компоненты проверки платежа ничего не доходило
Строка 72: LocalRedirect($APPLICATION->GetCurPage());
Причина - $_REQUEST[$arParams["ACTION_VARIABLE"]] = 'checkOrder'
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
заменить на
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
Проверяется назначением скрипту пустого (созданного) шаблона.