Использование платежного сервиса происходит посредством запросов POST
по защищенному каналу связи с узлом:
https://api.briacoin.com/api/
Все поступающие и возвращаемые запросы содержат строки JSON.
Авторизация большинства запросов происходит через механизм Google 2FA,
библиотеки для его использования существуют для таких языков
программирования как: PHP, Node.JS, Ruby, Python и других.
Регистрация аккаунта
Запрос серверу:
{
"method": "createaccount",
"backurl": "https://myshop.com/accept.php"
}
"createaccount" - метод регистрации нового аккаунта (пользователя) в
платежной системе;
"backurl" - URL, на который мерчант будет сообщать об успешном платеже
запросом POST *.
* Обратите внимание - ваш сервер должен использовать
только валидные сертификаты!
Ответ сервера:
{
"result": {
"status": "ok",
"userid": 1,
"secret": "qta3whcytmysb2tq",
"balance": 0.0,
"backurl": "https://myshop.com/accept.php",
"timestamp": 1493195829
}
}
"userid" - присвоенный ID новому аккаунту, будет использоваться в
дальнейшем для авторизации;
"secret" - хеш-строка для генерации ключа Google 2FA.
Обновления (изменения) аккаунта
Запрос серверу:
{
"method": "updateaccount",
"backurl": "https://newshop.net/payok/",
"userid": 1,
"key": "490321"
}
"updateaccount" - метод регистрации нового аккаунта (пользователя) в
платежной системе;
"backurl" - URL, на который мерчант будет сообщать об успешном платеже
запросом POST;
"userid" - ID аккаунта для которого изменяются данные;
"key" - сгенерированный ключ Google 2FA.
Ответ сервера:
{
"result": {
"status": "ok",
"userid": 1,
"backurl": "http://newshop.net/payok/",
"timestamp": 1493197926
}
}
"userid" - ID аккаунта;
"backurl" - URL, на который мерчант будет сообщать об успешном платеже
запросом POST.
Проверка баланса аккаунта
Запрос серверу:
{
"method": "getaccountbalance",
"userid": 1,
"key": "832712"
}
"balance" - метод запроса баланса аккаунта;
"userid" - ID аккаунта баланс которого запрашиваем;
"key" - сгенерированный ключ Google 2FA.
Ответ сервера:
{
"result": {
"status": "ok",
"userid": 1,
"balance": 0.0,
"timestamp": 1493198052
}
}
"userid" - ID аккаунта у запрашиваемого аккаунта;
"balance" - текущий баланс.
Создание ордера
Запрос серверу:
{
"method": "createorder",
"amount": 12.50,
"userid": 1,
"key": "209843"
}
"order" - метод создания нового ордера;
"amount" - сумма к оплате по данному ордеру;
"key" - сгенерированный ключ Google 2FA.
Ответ сервера:
{
"result": {
"status": "ok",
"userid": 1,
"orderid": 1,
"wallet": «Bdr6RFA2GXhjFAPDmV3WHP7za5BHPYMKjT",
"amount": 12.5,
"timestamp": 1493195900
}
}
"userid" - ID аккаунта (хозяин ордера, оплата по ордеру поступает на
баланс данного аккаунта);
"orderid" - порядковый ID ордера;
"wallet" - кошелек для перевода монет для оплаты ордера;
"amount" - сумма к оплате по данному ордеру.
Проверка состояния ордера
Запрос серверу:
{
"method": "getorderstatus",
"orderid": 1,
"userid": 1,
"key": "398402"
}
"orderstatus" - метод запроса состояния ордера;
"orderid" - порядковый номер ордера на оплату;
"userid" - ID вашего пользователя от которого был выставлен ордер;
"key" - сгенерированный ключ Google 2FA.
Ответ сервера:
{
"result": {
"status": "ok",
"userid": 1,
"orderid": 1,
"wallet": «Bdr6RFA2GXhjFAPDmV3WHP7za5BHPYMKjT",
"amount": 10.0,
"paid": 0.0,
"orderstatus": "new",
"timestamp": 1493200005
}
}
"userid" - ID вашего пользователя от которого был выставлен ордер;
"orderid" - порядковый номер ордера на оплату;
"wallet" - кошелек для перевода монет (это на тот случай, если забыли);
"amount" - сумма к оплате по данному ордеру;
"paid" - поступившие монеты по данному ордеру;
"orderstatus" - состояние ордера:
Состояние ордера может иметь три основных статуса:
"new" - новый (не оплаченный);
"part" - оплачен не полностью (частично);
"close" - оплачен и закрыт (средства
переведены на баланс аккаунта).
Перевод монет (вывод)
Запрос серверу:
{
"method": "transfertoaddress",
"userid": 1,
"wallet": «BN9VuoMSk3LfVdars9PUntmv8r5ckHKnUZ",
"amount": 3.234,
"key": "398402"
}
"transfertoaddress" - метод перевода монет с баланса аккаунта;
"userid" - ID аккаунта с баланса которого осуществляется перевод средств;
"wallet" - кошелек на который будут выведены монеты;
"amount" - сумма перевода (вывода);
"key" - сгенерированный ключ Google 2FA.
Ответ сервера:
{
"result": {
"status": "ok",
"userid": 2,
"txid": "7b76bf262f89be0dc9d17cd5d28d8fc155a1a3de57023b2ba1eeaf4b1ac7faeb",
"timestamp": 1493225903
}
}
"userid" - ID аккаунта с баланса которого осуществляется перевод средств;
"txid" - хеш транзакции.
POST запрос на URL успешной оплаты
На URL успешной оплаты мерчант посылает следующие данные:
{
:userid => 1,
:orderid => 23,
:amount => 2.0,
:key => "022637",
:timestamp => 1493228072
}
":userid" - ID аккаунта в системе мерчанта;
":orderid" - ID ордера в системе мерчанта;
":amount" - стоимость ордера, по факту оплаты;
":key" - сгенерированный обратный ключ сервером Google 2FA.
Обработка ошибок
Пример ответа сервера при возникшей ошибке:
{
"result": {
"status": "error",
"data": "Authorization filed!",
"timestamp": 1493195969
}
}
"error" - метод возврата ошибки;
"data" - описание ошибки.