Здесь показаны различия между двумя версиями данной страницы.
| Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
|
api-2.0 [2017/07/27 12:06] admin [Запросы от OnPay к сайту мерчанта] |
— (текущий) | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | |||
| - | |||
| - | |||
| - | ===== Check ===== | ||
| - | |||
| - | Для check запроса используются параметры: | ||
| - | | Название | Тип | Описание | | ||
| - | | type | string | Тип запроса (check) | | ||
| - | | expired_at | string | Cрок действия ордера в формате "CCYY-MM-DDThh:mm:ssTZD" где TZD смещение часового пояса в формате [+-]hh:mm | | ||
| - | | pay_for | string | Номер заказа | | ||
| - | | amount | bigint | Сумма платежа в центах, если параметр mode = free, то будет передан 0 | | ||
| - | | way | string | Валюта платежа | | ||
| - | | mode | string | Тип платежа, fix или free | | ||
| - | | signature | string | Контрольная подпись, строка для построения "check;pay_for;amount;way;mode;api_key" | | ||
| - | |||
| - | Пример запроса: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "type":"check", | ||
| - | "pay_for":"55446", | ||
| - | "expired_at":"2014-02-03T18:43:21+04:00" | ||
| - | "amount":50000, | ||
| - | "way":"RUR", | ||
| - | "mode":"fix", | ||
| - | "signature":"82f67760dbc5331963b7e00bc6df77f1" | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | Ответ мерчанта | ||
| - | |||
| - | | Название | Тип | Описание | | ||
| - | | code | int | Код ответа, 0 для подтверждения, 1 для отказа. | | ||
| - | | type | string | Тип запроса (check) | | ||
| - | | pay_for | string | Номер заказа | | ||
| - | | signature | string | Контрольная подпись, строка для построения "code;pay_for;api_key" | | ||
| - | |||
| - | Пример: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "code":0, | ||
| - | "type":"check", | ||
| - | "pay_for":"55446", | ||
| - | "signature":"172de16ada92791b3753b3121d471f5c" | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | ===== Pay ===== | ||
| - | |||
| - | Для pay запроса используются параметры: | ||
| - | | Название | Тип | Описание | | ||
| - | | type | string | Тип запроса (pay) | | ||
| - | | signature | string | Контрольная подпись, строка для построения "pay;pay_for;payment.amount;payment.way;balance.amount;balance.way;api_key" | | ||
| - | | pay_for | string | Номер заказа | | ||
| - | | user.email | string | E-mail плательщика | | ||
| - | | user.phone | string | Телефон плательщика | | ||
| - | | user.note | string | Комментарий плательщика | | ||
| - | | payment.id | int | Номер платежа | | ||
| - | | payment.date_time | string | Дата создания платежа в формате "CCYY-MM-DDThh:mm:ssTZD" где TZD смещение часового пояса в формате [+-]hh:mm | | ||
| - | | payment.amount | bigint | Сумма платежа | | ||
| - | | payment.way | string | Валюта платежа | | ||
| - | | payment.rate | bigint | Курс обмена между валютами balance.way/payment.way | | ||
| - | | payment.release_at | string | Время зачисления платежа, для отложенных платежей строиться аналогично payment.date_time, null если уже зачислен | | ||
| - | | balance.amount | bigint | Сумма, зачисляемая на баланс | | ||
| - | | balance.way | string | Валюта зачисления на баланс | | ||
| - | | order.from_amount | float | Сумма из ордера, которую должен был заплатить плательщик | | ||
| - | | order.from_way | string | Валюта из ордера, в которой должен был заплатить плательщик | | ||
| - | | order.to_amount | float | Сумма из ордера, которая должна была поступить на баланс магазина | | ||
| - | | order.to_way | string | Валюта из ордера, в которой должен был пополниться баланс магазина | | ||
| - | |||
| - | Пример запроса: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "type": "pay", | ||
| - | "pay_for": "55446", | ||
| - | "signature": "82f67760dbc5331963b7e00bc6df77f1", | ||
| - | "user": { | ||
| - | "email": "mail@mail.ru", | ||
| - | "phone": "9631478946", | ||
| - | "note": "" | ||
| - | }, | ||
| - | "payment": { | ||
| - | "id": 7121064, | ||
| - | "date_time": "2013-12-05T12:07:09+04:00", | ||
| - | "amount": 10200, | ||
| - | "way": "USD", | ||
| - | "rate": 33121445, | ||
| - | "release_at": null | ||
| - | }, | ||
| - | "balance": { | ||
| - | "amount": 3378.39, | ||
| - | "way": "RUR" | ||
| - | }, | ||
| - | "order": { | ||
| - | "from_amount": 102.00, | ||
| - | "from_way": "USD", | ||
| - | "to_amount": 3378.39, | ||
| - | "to_way": "RUR" | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | Ответ мерчанта | ||
| - | |||
| - | | Название | Тип | Описание | | ||
| - | | code | int | Код ответа, 0 для подтверждения, 1 для отказа(отказ не является отказом от платежа, а лишь информацией о том, что мерчант не знает о таком платеже, при этом у платежа проставится статус как "не было уведомления", и мерчант сможет активировать его вручную в личном кабинете, если такой платеж в действительности имеет место быть). | | ||
| - | | type | string | Тип запроса (pay) | | ||
| - | | pay_for | string | Номер заказа | | ||
| - | | signature | string | Контрольная подпись, строка для построения "code;pay_for;api_key" | | ||
| - | | receipt | json | Содержит информацию о списке покупок в чеке | | ||
| - | | receipt.items | array | Список товаров в чеке | | ||
| - | | receipt.items.name | string | Название товара | | ||
| - | | receipt.items.price | float | Цена за единицу товара | | ||
| - | | receipt.items.quantity | float | Количество | | ||
| - | | receipt.sum | float | Сумма чека | | ||
| - | |||
| - | Пример: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "code": 0, | ||
| - | "type": "pay", | ||
| - | "pay_for": "55446", | ||
| - | "signature": "172de16ada92791b3753b3121d471f5c", | ||
| - | "receipt": { | ||
| - | "items": [ | ||
| - | { | ||
| - | "name": "product 1", | ||
| - | "price": 100.00, | ||
| - | "quantity": 2.8 | ||
| - | }, | ||
| - | { | ||
| - | "name": "product 2", | ||
| - | "price": 18.50, | ||
| - | "quantity": 4 | ||
| - | }, | ||
| - | { | ||
| - | "name": "product 3", | ||
| - | "price": 500.00, | ||
| - | "quantity": 1 | ||
| - | } | ||
| - | ], | ||
| - | "sum": 854.00 | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | ==== Запросы от мерчанта к OnPay ==== | ||
| - | |||
| - | ===== Получить данные платежа ===== | ||
| - | |||
| - | адрес - json_interfaces/payments/:id, где id - номер платежа в системе OnPay | ||
| - | |||
| - | Используется для получения данных о прошедшем платеже. HTTP метод - GET. Используемые параметры: | ||
| - | | Название | Тип | Описание | | ||
| - | | login | string | Логин сайта | | ||
| - | | signature | string | Контрольная подпись "id;login;api_key" | | ||
| - | |||
| - | Пример запроса: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "login":"onpay", | ||
| - | "signature":"1d15f90df20da53d7206e9f7db7d2c9d" | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | В ответ будет выдан JSON с данными: | ||
| - | | Название | Тип | Описание | | ||
| - | | signature | string | Контрольная подпись "payment.id;payment.amount;payment.way;balance.amount;balance.way;api_key" | | ||
| - | | user.email | string | E-mail плательщика | | ||
| - | | user.phone | string | Телефон плательщика | | ||
| - | | user.note | string | Комментарий плательщика | | ||
| - | | payment.id | int | Номер платежа | | ||
| - | | payment.date_time | string | Дата создания платежа в формате "CCYY-MM-DDThh:mm:ssTZD" где TZD смещение часового пояса в формате [+-]hh:mm | | ||
| - | | payment.amount | bigint | Сумма платежа | | ||
| - | | payment.way | string | Валюта платежа | | ||
| - | | payment.rate | bigint | Курс обмена между валютами balance.way/payment.way | | ||
| - | | payment.release_at | string | Время зачисления платежа, для отложенных платежей строиться аналогично payment.date_time, null если зачислен мгновенно | | ||
| - | | balance.amount | bigint | Сумма, зачисляемая на баланс | | ||
| - | | balance.way | string | Валюта зачисления на баланс | | ||
| - | |||
| - | Пример ответа: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "signature": "172de16ada92791b3753b3121d471f5c", | ||
| - | "user": { | ||
| - | "email": "mail@mail.ru", | ||
| - | "phone": "9631478946", | ||
| - | "note": "" | ||
| - | }, | ||
| - | "payment": { | ||
| - | "id": "7121064", | ||
| - | "date_time": "2013-12-05T12:07:09+04:00", | ||
| - | "amount": 10200, | ||
| - | "way": "USD", | ||
| - | "rate": 33121445, | ||
| - | "release_at": null | ||
| - | }, | ||
| - | "balance": { | ||
| - | "amount": "3300", | ||
| - | "way": "RUR" | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | ===== Получить курс обмена ===== | ||
| - | |||
| - | адрес - json_interfaces/rates/:from/to/:to, где from и to - валюта из и валюта назначения соответственно | ||
| - | |||
| - | Используется для получения текущего курса валют | ||
| - | | Название | Тип | Описание | | ||
| - | | login | string | Логин сайта | | ||
| - | | signature | string | Контрольная подпись "login;from;to;api_key" | | ||
| - | |||
| - | Пример запроса: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "login":"onpay", | ||
| - | "signature":"65ded5353c5ee48d0b7d48c591b8f430" | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | В ответ будет выдан JSON с данными: | ||
| - | | Название | Тип | Описание | | ||
| - | | from | string | Валюта из | | ||
| - | | to | string | Валюта назначения | | ||
| - | | rate | bigint | значение курса * 10e6 | | ||
| - | | signature | string | Контрольная подпись "from;to;rate;api_key" | | ||
| - | |||
| - | Пример ответа: | ||
| - | <code class="json"> | ||
| - | { | ||
| - | "from":"USD", | ||
| - | "to":"RUR", | ||
| - | "rate":33121445 | ||
| - | "signature":"4671aeaf49c792689533b00664a5c3ef" | ||
| - | } | ||
| - | </code> | ||