Это старая версия документа.
API построено на REST архитектуре. JSON возвращается в ответ на все запросы к API, в том числе и при возникновении ошибок. Имеет предсказуемые, ресурсо-ориентированные URL-адреса, использует HTTP-коды для передачи состояния ошибок, а также использует встроенные функции HTTP-аутентификации и методы GET, POST, PUT, DELETE.
Для 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» |
Пример запроса:
<pre><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></pre>
Ответ мерчанта
Название | Тип | Описание |
code | int | Код ответа, 0 для подтверждения, 1 для отказа. |
type | string | Тип запроса (check) |
pay_for | string | Номер заказа |
signature | string | Контрольная подпись, строка для построения «code;pay_for;api_key» |
Пример:
<pre><code class="json"> { "code":0, "type":"check", "pay_for":"55446", "signature":"172de16ada92791b3753b3121d471f5c" } </code></pre>
Для 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 | Валюта из ордера, в которой должен был пополниться баланс магазина |
Пример запроса:
<pre><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.0, "from_way":"USD", "to_amount":3378.39, "to_way":"RUR" }
}
</pre></code>
Ответ мерчанта
Название | Тип | Описание |
code | int | Код ответа, 0 для подтверждения, 1 для отказа(отказ не является отказом от платежа, а лишь информацией о том, что мерчант не знает о таком платеже, при этом у платежа проставится статус как «не было уведомления», и мерчант сможет активировать его вручную в личном кабинете, если такой платеж в действительности имеет место быть). |
type | string | Тип запроса (pay) |
pay_for | string | Номер заказа |
signature | string | Контрольная подпись, строка для построения «code;pay_for;api_key» |
Пример:
<pre><code class="json"> { "code":0, "type":"pay", "pay_for":"55446", "signature":"172de16ada92791b3753b3121d471f5c" } </code></pre>
адрес - json_interfaces/payments/:id, где id - номер платежа в системе OnPay
Используется для получения данных о прошедшем платеже. HTTP метод - GET. Используемые параметры:
Название | Тип | Описание |
login | string | Логин сайта |
signature | string | Контрольная подпись «id;login;api_key» |
Пример запроса:
<pre><code class="json"> { "login":"onpay", "signature":"1d15f90df20da53d7206e9f7db7d2c9d" } </code></pre>
В ответ будет выдан 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 | Валюта зачисления на баланс |
Пример ответа:
<pre><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" } } </pre></code>
адрес - json_interfaces/rates/:from/to/:to, где from и to - валюта из и валюта назначения соответственно
Используется для получения текущего курса валют
Название | Тип | Описание |
login | string | Логин сайта |
signature | string | Контрольная подпись «login;from;to;api_key» |
Пример запроса:
<pre><code class="json"> { "login":"onpay", "signature":"65ded5353c5ee48d0b7d48c591b8f430" }</code></pre>
В ответ будет выдан JSON с данными:
Название | Тип | Описание |
from | string | Валюта из |
to | string | Валюта назначения |
rate | bigint | значение курса * 10e6 |
signature | string | Контрольная подпись «from;to;rate;api_key» |
Пример ответа:
<pre><code class="json"> { "from":"USD", "to":"RUR", "rate":33121445 "signature":"4671aeaf49c792689533b00664a5c3ef" } </code></pre>