Здесь показаны различия между двумя версиями данной страницы.
| Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
| api-for-pay-form [2015/10/19 10:44] admin | api-for-pay-form [2015/10/19 11:25] (текущий) admin | ||
|---|---|---|---|
| Строка 28: | Строка 28: | ||
| "errors":{"key":["text1","text2",...]}, | "errors":{"key":["text1","text2",...]}, | ||
| } | } | ||
| - | где key - ключ ошибки, значение которого массив текстовых описаний ошибок(может быть одно или несколько). | + | где key - ключ ошибки, значение которого массив текстовых описаний ошибок(может быть одно или несколько - text1, text2...).\\ | 
| + | От сервера Onpay придет JSON с ответом (успешный или с ошибкой).\\ | ||
| + | \\ | ||
| Пример ответа с ошибкой: | Пример ответа с ошибкой: | ||
| { | { | ||
| Строка 43: | Строка 44: | ||
| ==== Описание параметров ==== | ==== Описание параметров ==== | ||
| === paysystem_interfaces === | === paysystem_interfaces === | ||
| - | Значением является hash, ключами которого являются названия доступных и включенных интерфейсов оплаты (данные значения для использования в запросе на создание ордера как "interface_ticker")\\ | + | Значением является hash, ключами которого являются названия доступных и включенных интерфейсов оплаты (данные значения нужны для использования в запросе на создание ордера для параметра "interface_ticker")\\ | 
| Значениями ключей-интерфейсов является также хеш, содержащий 2 ключа:\\ | Значениями ключей-интерфейсов является также хеш, содержащий 2 ключа:\\ | ||
| - | "**paysystem**" - для определения комиссий и курсов обмена, а также списка дополнительных полей, | + | "**paysystem**" - 3-буквенный код платежной системы (к нему привязаны комиссии, курсы, а также список дополнительных полей подлежащих заполнению пользователем - вся эта информация находится в соответствующих справочниках)\\ | 
| "**logo**" - урл логотипа для интерфейса. | "**logo**" - урл логотипа для интерфейса. | ||
| Строка 346: | Строка 347: | ||
| | interface_ticker | string | Название способа оплата (через который плательщик будет платить) | | | interface_ticker | string | Название способа оплата (через который плательщик будет платить) | | ||
| | recipient | string | идентификатор магазина | | | recipient | string | идентификатор магазина | | ||
| - | | pay_mode | string | тип платежа, fix, free или inv | | + | | pay_mode | string | тип платежа, fix или free | | 
| | pay_amount | float | сумма, которую должен заплатить плательщик способом interface_ticker (может быть пустым, в этом слечае будет рассчитано автоматически, в зависимости от receive_amount) | | | pay_amount | float | сумма, которую должен заплатить плательщик способом interface_ticker (может быть пустым, в этом слечае будет рассчитано автоматически, в зависимости от receive_amount) | | ||
| | receive_amount | float | сумма, которую должен будет получить магазин в валюте ticker | | | receive_amount | float | сумма, которую должен будет получить магазин в валюте ticker | | ||
| Строка 396: | Строка 397: | ||
| Алгоритм обработки ответа:\\ | Алгоритм обработки ответа:\\ | ||
| **Если НЕ пустое "errors"** сайт магазина должен отобразить ошибки плательщику и переформировать данные для отправки (пример: в случае отсутствия обязательного поля - заполнить данное поле). Подробнее см. в разделе "errors")\\ | **Если НЕ пустое "errors"** сайт магазина должен отобразить ошибки плательщику и переформировать данные для отправки (пример: в случае отсутствия обязательного поля - заполнить данное поле). Подробнее см. в разделе "errors")\\ | ||
| - | **Иначе**\\ | + | **Иначе** (ордер успешно создан, и мы смотрим на два остальных поля redirect_to или po_psi_data_request)\\ | 
| \\ | \\ | ||
| **Если НЕ пустое "redirect_to"** сайт магазина должен перенаправить плательщика на url, указанный в этом параметре. (подробнее читать в разделе "redirect_to")\\ | **Если НЕ пустое "redirect_to"** сайт магазина должен перенаправить плательщика на url, указанный в этом параметре. (подробнее читать в разделе "redirect_to")\\ | ||
| **Иначе** сайт магазина, должен сформировать форму из данных, содержащихся в поле "po_psi_data_request", и перенаправить пользователя сабмитом данной формы. (подробнее читать в разделе "po_psi_data_request")\\ | **Иначе** сайт магазина, должен сформировать форму из данных, содержащихся в поле "po_psi_data_request", и перенаправить пользователя сабмитом данной формы. (подробнее читать в разделе "po_psi_data_request")\\ | ||
| + | Чем отличают **redirect_to** или **po_psi_data_request**.\\ | ||
| + | **redirect_to** используется, когда перенаправление покупателя нужно осуществить запросом типа GET\\ | ||
| + | **po_psi_data_request** используется, когда перенаправление покупателя нужно осуществить запросом типа POST\\. | ||
| + | Пример платежной системы с типом GET киви с выводом инструкции.\\ | ||
| + | Пример платежной системы с типом POST - UNR.\\ | ||
| + | Информацию о типе перенаправления (GET/POST) вы получите в ответ на запрос о создании ордера. | ||
| === errors === | === errors === | ||
| Строка 406: | Строка 413: | ||
| "errors": { | "errors": { | ||
| "receive_amount": [ | "receive_amount": [ | ||
| - | "Ошибка в курсе обмена. Возможно курс обмена изменился. Пожалуйста, попробуйте продолжить операцию еще раз. <a href='http://wiki.onpay.ru/doku.php?id=oshibki#ошибки_платежной_формы' target='_blank'>Подробнее</a>" | + | "Ошибка в курсе обмена. Возможно курс обмена изменился. Пожалуйста, попробуйте продолжить операцию еще раз. | 
| + | <a href='http://wiki.onpay.ru/doku.php?id=oshibki#ошибки_платежной_формы' target='_blank'>Подробнее</a>" | ||
| ] | ] | ||
| } | } | ||