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

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


robokassa-migration

Различия

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

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

Следущая версия
Предыдущая версия
Следущая версия Both sides next revision
robokassa-migration [2014/02/17 15:04]
admin создано
robokassa-migration [2014/09/26 12:05]
admin [XML-интерфейсы]
Строка 1: Строка 1:
-=== Миграция с АПИ Робокасса === +==== Миграция с АПИ Робокасса ​==== 
-**Данное АПИ ​является адаптером для мерчантов, у которых настроено апи для работы с агрегатором ​Робокасса. + 
-**+**ВНИМАНИЕ. При использовании данного типа ​АПИ, платежи без обязательных параметров проходить не будут, для "​свободных платежей используйте апи Https1 или Https2.** 
 +\\ 
 +==== Подключение ==== 
 +Настройки в Кабинете продавца:\\ 
 +https://​secure.onpay.ru/​merchants/​edit 
 +1. Выбрать "Робокасса"​ в Кабинете Onpay (тип АПИ)\\ 
 +2. Вы должны привести ​на своем сайте (кабинет Робокассы) ключи MerchantPass2 к зеркальному виду относительно MerchantPass1,​ то есть например:​ \\ 
 +если **MerchantPass1** есть **myfirstpassword** то **MerchantPass2** ​должен быть **drowssaptsrifym**\\ 
 +3. Заполнить поле api_in_key в Кабинете Onpay, подставив туда значение ​своего ключа MerchantPass1\\ 
 +4. Поставить флаг - "уведомлять по апи" на https://​secure.onpay.ru/​merchants/​edit\\ 
 +5. Заполнить поле "​e-mail для уведомлений там же\\ 
 +На платежную форму нужно переходить в соответствии с описанием способа инициализации оплаты/​ но вместо URL - https://​auth.robokassa.ru/​Merchant/​Index.aspx,​ надо использовать - https://​secure.onpay.ru/​pay/​login. **Остаток URL и содержимое запроса остается таким, каким было.**\\ 
 +\\
 === Особенности === === Особенности ===
 Данное апи реализует не только 2 метода уведомления (check и pay), но и преобразование параметров,​ приходящих на платежную форму, конвертируя их в стандартные. Добавляет необходимые параметры при перенаправлении плательщика на страницу магазина после завершения платежа.\\ Данное апи реализует не только 2 метода уведомления (check и pay), но и преобразование параметров,​ приходящих на платежную форму, конвертируя их в стандартные. Добавляет необходимые параметры при перенаправлении плательщика на страницу магазина после завершения платежа.\\
Строка 13: Строка 25:
 4) Интерфейс получения состояния оплаты счета\\ 4) Интерфейс получения состояния оплаты счета\\
 \\ \\
-Реализацию имеет лишь Интерфейс получения состояния оплаты счета, остальные являются заглушками,​ возвращающими корректный ответ с пустыми данными. +Реализацию имеет лишь Интерфейс получения состояния оплаты счета, остальные являются заглушками,​ возвращающими корректный ответ с пустыми данными.\\ 
-\\ + 
-=== Инициализация оплаты === +==== Инициализация оплаты ​==== 
-Данная секция описывает формат приходящих данных на платежную форму, и занимается их преобразованием к стандартным в системе Onpay. ​(файл реализации - /​home/​artem/​onpay3/​app/​controllers/​payment_form_decorators/​robokassa_type.rb)\\+Данная секция описывает формат приходящих данных на платежную форму, и занимается их преобразованием к стандартным в системе Onpay.\\
 \\ \\
 Магазин отправляет пользователя по данному адресу для произведения им оплаты. Предварительно магазин должен у себя запомнить счет (номер,​ сумма, дата формирования).\\ Магазин отправляет пользователя по данному адресу для произведения им оплаты. Предварительно магазин должен у себя запомнить счет (номер,​ сумма, дата формирования).\\
Строка 22: Строка 34:
 URL: https://​pay/​sMerchantLogin\\ URL: https://​pay/​sMerchantLogin\\
 \\ \\
-Параметры запроса (метод ​POST либо ​GET):\\+Параметры запроса (метод GET):\\
   MrchLogin=sMerchantLogin&​   MrchLogin=sMerchantLogin&​
   OutSum=nOutSum&​   OutSum=nOutSum&​
Строка 33: Строка 45:
   [&​shpa=yyy&​shpb=xxx...-пользовательские_параметры_начинающиеся_с_SHP_в_сумме_до_2048_знаков]   [&​shpa=yyy&​shpb=xxx...-пользовательские_параметры_начинающиеся_с_SHP_в_сумме_до_2048_знаков]
 \\ \\
-Параметр ​Описание ​Преобразуется в параметр ​|+Параметр ​Описание ​Преобразуется в параметр ​^
 | sMerchantLogin | login магазина (обязательный параметр) | recipient | | sMerchantLogin | login магазина (обязательный параметр) | recipient |
 | nOutSum | требуемая к получению сумма (обязательный параметр). Формат представления числа - разделитель точка. | price | | nOutSum | требуемая к получению сумма (обязательный параметр). Формат представления числа - разделитель точка. | price |
-| nInvId | номер счета в магазине (должен быть уникальным для магазина). Может принимать значения от 1 до 2147483647 ​(2^31-1). Если содержит пустое значение,​ вовсе не указан,​ либо равен "​0",​ то при создании операции ей будет автоматически присвоен уникальный номер счета. ​ | pay_for |+| nInvId | номер счета в магазине (должен быть уникальным для магазина). Может принимать значения от 1 до 2147483647. Если содержит пустое значение,​ вовсе не указан,​ либо равен "​0",​ то при создании операции ей будет автоматически присвоен уникальный номер счета. ​ | pay_for |
 | sInvDesc | описание покупки,​ можно использовать только символы английского или русского алфавита,​ цифры и знаки препинания. Максимальная длина 100 символов. | является составной часть параметра - note | | sInvDesc | описание покупки,​ можно использовать только символы английского или русского алфавита,​ цифры и знаки препинания. Максимальная длина 100 символов. | является составной часть параметра - note |
 | sSignatureValue | контрольная сумма MD5(обязательный параметр) - строка представляющая собой 32-разрядное число в 16-ричной форме и любом регистре (всего 32 символа 0-9, A-F). Формируется по строке,​ содержащей следующие параметры,​ разделенные ':',​ с добавлением api_in_key - (устанавливается через интерфейс администрирования):​ sMerchantLogin:​nOutSum:​nInvId:​api_in_key[:​пользовательские параметры,​ в отсортированном алфавитном порядке] ​ | не преобразуется,​ лишь проверяется на валидность | | sSignatureValue | контрольная сумма MD5(обязательный параметр) - строка представляющая собой 32-разрядное число в 16-ричной форме и любом регистре (всего 32 символа 0-9, A-F). Формируется по строке,​ содержащей следующие параметры,​ разделенные ':',​ с добавлением api_in_key - (устанавливается через интерфейс администрирования):​ sMerchantLogin:​nOutSum:​nInvId:​api_in_key[:​пользовательские параметры,​ в отсортированном алфавитном порядке] ​ | не преобразуется,​ лишь проверяется на валидность |
Строка 53: Строка 65:
 При проверке контрольной суммы (MD5) в скриптах магазина по Result Url, Success Url и Fail Url также необходимо учитывать полученные дополнительные параметры при подсчёте контрольной суммы (MD5). См. соответствующие разделы документации.\\ При проверке контрольной суммы (MD5) в скриптах магазина по Result Url, Success Url и Fail Url также необходимо учитывать полученные дополнительные параметры при подсчёте контрольной суммы (MD5). См. соответствующие разделы документации.\\
 \\ \\
-=== Запросы к мерчанту ===+==== Запросы к мерчанту ​====
 ==== Check ==== ==== Check ====
 Check не используется в данном типе апи, всегда возвращает true\\ Check не используется в данном типе апи, всегда возвращает true\\
Строка 66: Строка 78:
 Если в настройках в качестве метода отсылки данных был выбран Email, то в случае успешного проведения оплаты робот системы отправит вам сообщение на email, указанный в качестве notification_email модели User, с указанием параметров,​ указанных выше.\\ Если в настройках в качестве метода отсылки данных был выбран Email, то в случае успешного проведения оплаты робот системы отправит вам сообщение на email, указанный в качестве notification_email модели User, с указанием параметров,​ указанных выше.\\
 \\ \\
-Параметр ​Описание ​+Параметр ​Описание ​
 | nOutSum | полученная сумма. Сумма будет передана в рублях. Формат представления числа - разделитель точка. | | nOutSum | полученная сумма. Сумма будет передана в рублях. Формат представления числа - разделитель точка. |
 | nInvId | номер счета в магазине | | nInvId | номер счета в магазине |
Строка 89: Строка 101:
   [&​пользовательские_параметры]   [&​пользовательские_параметры]
 \\ \\
-Параметр ​Описание ​+Параметр ​Описание ​
 | nOutSum | полученная сумма. Сумма будет передана в рублях. Формат представления числа - Разделитель точка. | | nOutSum | полученная сумма. Сумма будет передана в рублях. Формат представления числа - Разделитель точка. |
 | nInvId | номер счета в магазине | | nInvId | номер счета в магазине |
Строка 107: Строка 119:
   Culture=sCulture   Culture=sCulture
   [&​пользовательские_параметры]   [&​пользовательские_параметры]
-\\ + 
-Параметр ​Описание ​+Параметр ​Описание ​
 | nOutSum | полученная сумма. Сумма будет передана в рублях. Формат представления числа - Разделитель точка. | | nOutSum | полученная сумма. Сумма будет передана в рублях. Формат представления числа - Разделитель точка. |
 | nInvId | номер счета в магазине | | nInvId | номер счета в магазине |
 | sCulture | язык общения с клиентом,​ выбранный при инициализации оплаты. Значения:​ en, ru. | | sCulture | язык общения с клиентом,​ выбранный при инициализации оплаты. Значения:​ en, ru. |
  
-=== XML-интерфейсы === +==== XML-интерфейсы ​==== 
-==== Общая информация ​====+=== Общая информация ===
 Всего есть 4 вида интерфейсов:​\\ Всего есть 4 вида интерфейсов:​\\
 1) Интерфейс получения списка валют\\ 1) Интерфейс получения списка валют\\
Строка 153: Строка 165:
 1000 - внутренняя ошибка сервиса\\ 1000 - внутренняя ошибка сервиса\\
 \\ \\
-==== Интерфейс получения состояния оплаты счета (OpState) ​====+=== Интерфейс получения состояния оплаты счета (OpState) ===
 Описание:​\\ Описание:​\\
 Возвращает детальную информацию о текущем состоянии и реквизитах оплаты. \\ Возвращает детальную информацию о текущем состоянии и реквизитах оплаты. \\
Строка 163: Строка 175:
 \\ \\
 Параметры запроса:​\\ Параметры запроса:​\\
-Параметр ​Описание ​+ 
 +Параметр ​Описание ​
 | MerchantLogin | логин магазина,​ строка | | MerchantLogin | логин магазина,​ строка |
 | InvoiceID | номер счета магазина,​ целое число | | InvoiceID | номер счета магазина,​ целое число |
Строка 197: Строка 210:
 \\ \\
 Описание возвращаемых данных:​\\ Описание возвращаемых данных:​\\
-Параметр ​Описание ​ + 
-| Code | код текущего состояния операции оплаты счета. Возможные значения:​ 5 - операция только инициализирована,​ деньги от покупателя не получены. +Параметр ​Описание ​ 
-Состояние ввода денег. Это означает,​ что от пользователя ещё не поступила оплата по выставленному ему счёту или платёжная система,​ через которую пользователь совершает оплату,​ ещё не подтвердила факт оплаты. Либо (при оплате смс-сообщениями) оплата поступили частично,​ и система ожидает прихода оставшейся суммы. 100 - операция выполнена,​ завершена успешно. Платёж проведён успешно,​ деньги зачислены на счёт (кошелёк) продавца,​ уведомление об успешном платеже отправлено продавцу. |+| Code | отображает ​код текущего состояния операции оплаты счета. Возможные значения:​ 5 - операция только инициализирована,​ деньги от покупателя не получены. Состояние ввода денег. Это означает,​ что от пользователя ещё не поступила оплата по выставленному ему счёту или платёжная система,​ через которую пользователь совершает оплату,​ ещё не подтвердила факт оплаты. Либо (при оплате смс-сообщениями) оплата поступили частично,​ и система ожидает прихода оставшейся суммы. 100 - операция выполнена,​ завершена успешно. Платёж проведён успешно,​ деньги зачислены на счёт (кошелёк) продавца,​ уведомление об успешном платеже отправлено продавцу. |
 | RequestDate | дата/​время ответа на запрос (*) | | RequestDate | дата/​время ответа на запрос (*) |
 | StateDate | дата/​время последнего изменения состояния операции (*) | | StateDate | дата/​время последнего изменения состояния операции (*) |
Строка 222: Строка 235:
   +hh:mm или -hh:mm – смещение относительно UTC (показывает,​ что указано локальное время, которое на данное число часов и минут опережает или отстает от UTC)   +hh:mm или -hh:mm – смещение относительно UTC (показывает,​ что указано локальное время, которое на данное число часов и минут опережает или отстает от UTC)
   символ «Z» (должен быть в верхнем регистре),​ означает,​ что момент времени представлен в UTC зоне (эквивалентно +00:00 и -00:00)   символ «Z» (должен быть в верхнем регистре),​ означает,​ что момент времени представлен в UTC зоне (эквивалентно +00:00 и -00:00)
-\\+
 Пример:​ 2010-02-11T16:​07:​11.6973153+03:​00\\ Пример:​ 2010-02-11T16:​07:​11.6973153+03:​00\\
 \\ \\
Строка 228: Строка 241:
 1 - неверная цифровая подпись запроса\\ 1 - неверная цифровая подпись запроса\\
 3 - информация об операции с таким InvoiceID не найдена\\ 3 - информация об операции с таким InvoiceID не найдена\\
- 
-=== Подключение === 
-Настройки в Кабинете продавца:​ 
-1. Выбрать "​Робокасса"​ в Кабинете продавца (тип АПИ)\\ 
-2. Привести в своем кабинете Робокассы ключи MerchantPass1 и MerchantPass2 к одинаковому виду, то есть они должны быть одинаковыми.\\ 
-3. Заполнить поле api_in_key в зеленом кабинете,​ подставив туда значение своего ключа MerchantPass1 (которое стало равно MerchantPass2)\\ 
-4. Поставить флаг - "​уведомлять по апи"​\\ 
-5. Заполнить поле "​e-mail для уведомлений\\ 
-На платежную форму нужно переходить в соответствии с описанием способа инициализации оплаты/​ но вместо робокассовского URL - https://​auth.robokassa.ru/​Merchant/​Index.aspx,​ надо использовать - https://​secure.onpay.ru/​pay/​login. Остаток URL и содержимое запроса остается таким, каким было. 
 !!! НЕ пользоваться XML интерфейсами,​ кроме OpState.\\ !!! НЕ пользоваться XML интерфейсами,​ кроме OpState.\\
robokassa-migration.txt · Последние изменения: 2014/10/20 07:27 — admin