Документация по использованию платежного сервиса


Использование платежного сервиса происходит посредством запросов POST по защищенному каналу связи с узлом: https://api.gbcpay.com.
Все поступающие и возвращаемые запросы содержат строки JSON.
Аторизация большинства запросов происходит через механизм Google 2FA, библиотеки для его использования существуют для таких языков программирования как: PHP, Node.JS, Ruby, Python и других.

Регистрация аккаунта


Запрос серверу:

{"method": "register"}

"register" - метод регистрации нового аккаунта (пользователя) в платежной системе.

Ответ сервера:

{"status": "ok", "userid": 3, "secret": "XHFJ47DK356DJHH"}

"userid" - присвоенный ID новому аккаунту, будет использоваться в дальнейшем для авторизации;
"secret" - хеш-строка для генерации ключа Google 2FA.

Проверка баланса аккаунта


Запрос серверу:

{"method": "balance", "userid": 3, "key": "832712"}

"balance" - метод запроса баланса аккаунта;
"userid" - ID аккаунта;
"key" - сгенерированный ключ Google 2FA.

Ответ сервера:

{"status": "ok", "userid": 3, "balance": 4.35300000}

"userid" - ID аккаунта;
"balance" - текущий баланс.

Создание ордера


Запрос серверу:

{"method": "order", "amount": 12.50, "userid": 3, "key": "209843"}

"order" - метод создания нового ордера;
"amount" - сумма к оплате по данному ордеру;
"key" - сгенерированный ключ Google 2FA.

Ответ сервера:

{"status": "ok", "userid": 3, "orderid": 110, "wallet": "GN9VuoMSk3LfVdars9PUntmv8r5ckHKnUZ", "amount": 12.5}

"userid" - ID аккаунта (хозяин ордера, оплата по ордеру поступает на баланс данного аккаунта);
"orderid" - порядковый ID ордера;
"wallet" - кошелек для перевода монет для оплаты ордера;
"amount" - сумма к оплате по данному ордеру.

Проверка состояния ордера


Запрос серверу:

{"method": "orderstatus", "orderid": 1, "userid": 3, "key": "398402"}

"orderstatus" - метод запроса состояния ордера;
"orderid" - порядковый номер ордера на оплату;
"userid" - ID вашего пользователя от которого был выставлен ордер;
"key" - сгенерированный ключ Google 2FA.

Ответ сервера:

{"status": "ok", "userid": 3, "orderid": 110, "wallet": "GN9VuoMSk3LfVdars9PUntmv8r5ckHKnUZ", "amount": 12.5, "paid": 0.0, "orderstatus": "new"}

"userid" - ID вашего пользователя от которого был выставлен ордер;
"orderid" - порядковый номер ордера на оплату;
"wallet" - кошелек для перевода монет (это на тот случай, если забыли);
"amount" - сумма к оплате по данному ордеру;
"paid" - поступившие монеты по данному ордеру;

"orderstatus" - состояние ордера:

    Состояние ордера может иметь три основных статуса:
        "new" - новый (не оплаченный);
        "part" - оплачен не полностью (частично);
        "close" - оплачен и закрыт (средства переведены на баланс аккаунта).
    Существуют промежуточные статусы, их можно не отлавливать:
        "complete" - оплачен но не обработан;
        "over" - переплачен но не обработан.

Перевод монет (вывод)


Запрос серверу:

{"method": "transfer", "userid": 3, "wallet": "GN9VuoMSk3LfVdars9PUntmv8r5ckHKnUZ", "amount": 3.234, "key": "398402"}

"transfer" - метод перевода монет с баланса аккаунта;
"userid" - ID аккаунта с баланса которого осуществляется перевод средств;
"wallet" - кошелек на который будут выведены монеты;
"amount" - сумма перевода (вывода);
"key" - сгенерированный ключ Google 2FA.

Ответ сервера:

{"status": "ok", "userid": 3, "txid": "66ce4eb35848d6fbb9b5f716b7d7c560bea8e0bb8b09162583bd8d5dcc37435c"}

"userid" - ID аккаунта с баланса которого осуществляется перевод средств;
"txid" - хеш транзакции.

Обработка ошибок


Пример ответа сервера при возникшей ошибке:

{"status": "error", "data": "Authorization filed!"}

"error" - метод возврата ошибки;
"data" - описание ошибки.


Сервис запущен в тестовом режиме, могут быть некоторые изменения в работе и синтаксисе запросов!

Техническая поддержка

Если у вас возникли проблемы с работой сервиса, требуется помощь в настройке (интеграции) сервиса на ваш сайт или у вас есть конкретные предложения по улучшению работы или логики сервиса - незамедлительно нам пишите об этом!