Инструменты пользователя

Инструменты сайта


setup

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
setup [2011/09/02 10:00]
admin
setup [2014/10/17 07:09] (текущий)
admin
Строка 1: Строка 1:
-==== 1. Первые шаги ==== +Данная страница перемещена. 
-Привет! \\ +Пожалуйста,​ пройдите к содержанию Вики (http://​wiki.onpay.ru/​doku.phpи выберите нужный пункт.
-Вы немного знаете PHP и хотите сами подключить свой сайт к приему платежей?​ \\ +
-Для начала прочтите пример здесь для сайта DEMO.ru \\ +
-\\ +
-Вы скопировали себе код из примера,​ а автоматического зачисления не происходит?​ Хм. \\ +
-Отключите в [[http://​wiki.onpay.ru/​doku.php?​id=cabinet|Личном Кабинете]] функцию API (снимите отметку с **"​Настройки магазина"​ - "​Уведомлять по API"​**)\\  +
-Попробуйте ​сделать платеж на 5 WMR или Яндексов,​ а еще лучше - воспользуйтесь функцией **"​Тестовый платеж"​** в [[http://​wiki.onpay.ru/​doku.php?​id=cabinet|Личном Кабинете]].\\  +
-Не проходит?​ Хм. \\ +
- +
-==== 2. Платежные ссылки ==== +
-Для начала проверьте платежную ссылку (документация), она точно ведет на Ваш сайт, а не demo сайт? \\ +
-Она должна выглядеть так http://​secure.onpay.ru/​pay/​mysait где mysait это ваш логин в Сервисе Onpay. \\ +
-Как? Вы еще не зарегистрировались?​ Тогда Вам сюда. \\ +
-И не забудьте ​попросить модератора, чтобы он активировал Ваш аккаунт. Как узнать,​ нужно ли это? \\ +
-Очень просто — если Ваш аккаунт еще не активирован,​ то при входе в [[http://​wiki.onpay.ru/​doku.php?​id=cabinet|Личном Кабинете]] Вас преследует сообщение **"​Вы не вошли в систему (проверьте имя и пароль)"​**\\ +
- +
-==== 3. Почтовые уведомления о платежах ==== +
-Ура платеж пришел к Вам в [[http://​wiki.onpay.ru/​doku.php?​id=cabinet|Личный Кабинет]]! \\ +
-Но на e-mail Вам ничего не пришло :( - проверьте,​ а какой email Вы указали в поле "​Личные настройки" - "Email для уведомлений"​. На этот адрес, Вам будут приходить уведомления,​ о каждом платеже полученном Вами. \\ +
-В уведомлениях указывается сколько и за что Вам заплатили. \\ +
- +
-==== 4. Автоматизация приема платежей - API ==== +
-Теперь можно попробовать провести платеж в автоматическом режиме. \\ +
-Для включения APIзайдите в меню** "​Настройки магазина"​**. Поставьте отметку в поле **"​Уведомлять по API"​.** \\ +
-Введите в **"URL API"** - адрес Вашего скрипта отвечающего за обработку полученных платежей. Например,​ http://​demo.ru/​api.php \\ +
-Укажите **"​Пароль ​для API IN"** - это секретный пароль,​ учавствующий в формировании подписи в каждом платеже (чтобы Вы были уверенны,​ что платеж пришел через Onpay). \\ +
- +
-==== 5. Простые уведомления о приеме ==== +
-Платеж не проходит — пишет «Получатель платежа не дал разрешение на проведение платежа»! \\ +
-Не пугайтесь,​ получатель это Вы. \\ +
-Для начала отключим опцию **"​Проверять MD5 на ссылках"​** в меню **"​Настройки магазина"​**. \\ +
-И попробуем протестировать еще раз. Платеж все равно не проходит?​ \\ +
- +
-==== 6. Протокол взаимодействия между серверами - API ==== +
-В случае возникновения проблем с доставкой платежа на Ваш сервер,​ можно посмотреть подробный протокол взаимодействия,​ который пишется для каждого платежа. \\ +
-Посмотреть логи общения между нашим и Вашим сервером,​ можно в меню **"​Настройки магазина"​ - "​Логи"​.** Что мы там должны увидеть?​ \\ +
-Сервис Onpay делает два запроса к Вашему скрипту - **check** (проверяем,​ разрешаете ли Вы прием платежа с указанными параметрами,​ например проверяется цена и номер заказа) и **pay** ​(когда платеж уже зачислен на Ваш счет). \\ +
-\\ +
-Первый запрос **«check»** - вот такой: \\ +
-To merchant:​\\ +
-  String for MD5 to Merchant: "​check;​99;​70.0;​RUR;​MERCHANT_KEY_HERE"​  +
-  POST http://​demo.ru:​80/​api.php?​pay_for=99 &​order_currency=RUR &​order_amount=70.0 &​type=check &​amount=70.0 &​md5=A7AA6672VBDE2AB748F96001873383A2  +
-  HTTP_code:​200  +
-   +
-From merchant: \\ +
-  <?xml version="​1.0"​ encoding="​UTF-8"?>​  +
-  <​result>​  +
-  <​code>​0</​code>​  +
-  <​pay_for>​99</​pay_for>​  +
-  <​comment>​OK</​comment>​  +
-  <​md5>​6B1B4A02E321E40A2F6562E9EF0E4FF4</​md5>​  +
-  </​result>​  +
- +
-String for MD5 from Merchant: "​check;​99;​70.0;​RUR;​0;​MERCHANT_KEY_HERE"​\\  +
-Expected MD5 from Merchant: 6B1B4A02E321E40A2F6562E9EF0E4FF4 \\ +
- +
-И ответ Вашего скрипта:​\\  +
-To merchant: \\ +
-  String for MD5 to Merchant: "​pay;​716000201;​66336;​480.0;​RUR;​MERCHANT_KEY_HERE"​  +
-  GET http://​demo.ru:​80/​api.php?​pay_for=99 &​user_email= &​paymentDateTime=2009-10-15T18%3a20%3a12Z &​order_currency=RUR &​order_amount=70.0 &​balance_currency=OSP &​type=pay &​balance_amount=70.0 &​amount=70.0 &​onpay_id=66335 &note= &​md5=AZ93894E03B2B3EC8C6A35409ABBB3DC &​exchange_rate=1.0  +
-  HTTP_code:​200  +
- +
-From merchant: \\ +
-  <?xml version="​1.0"​ encoding="​UTF-8"?>​  +
-  <​result>​  +
-  <​code>​0</​code>​  +
-  <​comment>​OK</​comment>​  +
-  <​onpay_id>​66335</​onpay_id>​  +
-  <​pay_for>​99</​pay_for>​  +
-  <​order_id>​1402</​order_id>​  +
-  <​md5>​3342D8Z69E2E6E8927579A01C4933EDA</​md5>​  +
-  </​result>​  +
- +
-String for MD5 from Merchant: "​pay;​99;​66335;​1402;​70.0;​RUR;​0;​MERCHANT_KEY_HERE"​ \\ +
-Expected MD5 from Merchant: 3342D8Z69E2E6E8927579A01C4933EDA \\ +
-\\ +
-Все вроде правильно,​ но не проходит?​ \\ +
-Проверьте форматы данных - обратите внимание на разделитель в суммах платежей - это всегда точка, например "​70.5"​. \\ +
-Ура, проскочило?​ \\ +
- +
-==== 7. Если платеж не доходит до скрипта ==== +
-Но в [[http://​wiki.onpay.ru/​doku.php?​id=cabinet|Личном Кабинете]] система пишет "​Критическая ошибка"​ или "​Временная ошибка"​! Что делать?​! \\ +
-Это означит ​ что ​второй запрос - **«pay»** не проходит,​ то есть Ваш сайт не подтвердил,​ что его уведомили о платеже,​ или вообще ничего не ответил. Чаще всего, это бывает связано с проблемами хостинга (даже на хороших хостингах, иногда бывают проблемы). \\ +
-Чтобы точно понять,​ что происходит - снова смотрим логи в меню "​Настройки магазина"​ - "​Логи"​. \\ +
-Ух ты работает! \\ +
-Теперь ​уделим внимание проверке безопасности. \\ +
- +
-==== 8. Безопасность приема - MD5 подписи ==== +
-Теперь можно и проверку MD 5 включить - "​Проверять MD5 на ссылках"​ в меню "​Настройки магазина"​. \\ +
-Это нужно для того, чтобы быть уверенным в том, что уведомление о поступлении платежа пришло именно от нашего сервера,​ а не от злоумышленника, узнавшего где установлен ваш API скрипт. \\ +
-Упс перестало работать после включения проверки... \\ +
-Смотрим документацию,​ проверяем,​ что и в каком порядке входит в строку подписи MD5. \\ +
-Ага, заработало. \\ +
-И опять временная ошибка!!! \\ +
-Да, подпись MD5 в запросе **«pay»** формируется не так как в запросе **«check»**! Убедитесь,​ что у Вас код выглядит именно так, как описано в инструкции. \\ +
-Ну вот вроде и все, не всякая птица долетит до середины Днепра... \\ +
-\\ +
-Да нет у меня времени с этим ковыряться! \\ +
-Тогда Вам сюда - http://​onpay.ru/​developer \\+
setup.1314957632.txt.gz · Последние изменения: 2011/09/02 10:00 — admin