Back to top

API сервиса GEO Pay

https://partners.geo-pay.net/

Авторизация

Все запросы к сервисам API выполняются посредством https-запросов на partners.geo-pay.net/api/. Каждый запрос должен содержать обязательный параметр - API-ключ, который уникально идентифицирует компанию-партнера.

Безопасность

Сервисы GEO-Pay используют 256bit https - механизм end-to-end шифрования траффика, позволяющий защитить весь исходящий и входящий трафик от мониторинга/изменения его третьей стороной.

Replay attack

Стандарт SSLv3 защищает траффик от replay-аттак, посредством монотонно возрастающего счётчика сообщений, используемом в сеансе передачи данных. В большинстве случаев данный механизм надежно защищает от атаки повторного сообщения (запроса), но стоит учитывать тот факт, что запрос на проведение той, или иной операции, может быть перехвачен и повторно выполнен на уровне ОС, firewall, или любой другой системы, имеющей приоритетный доступ к сетевому траффику.

Пользователи

Общий баланс пользователя

Получить общий баланс текущего пользователя
GET/api/v1/account/balance/{?api_key}{&equivalent}

Example URI

GET /api/v1/account/balance/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK",
  "data": {
    "user": {
      "max_outgoing_flow": "5",
      "max_incoming_flow": "55",
      "balance": "-5",
      "total_used_outgoing_amount": "5",
      "total_used_incoming_amount": "0",
      "total_incoming_amount": "10",
      "total_outgoing_amount": "50"
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Максимальная сумма транзакции

Получить максимальные суммы транзакций к пользователям
GET/api/v1/users/max-transaction-amounts/{?api_key}{&equivalent}{&hash_ids}

Example URI

GET /api/v1/users/max-transaction-amounts/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn&hash_ids=1111df0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

hash_ids
string (required) Example: 1111df0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27

массив передается как ?hash_ids=some_hash_id&hash_ids=some_other_hash_id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK",
  "data": {
    "max_transaction_amounts": [
      {
        "hash_id": "1111df0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27",
        "may_be_spent": "5"
      }
    ]
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Платежи

Платежи

Осуществить платеж
POST/api/v1/payments/

Example URI

POST /api/v1/payments/
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "api_key": "APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe",
    "equivalent": "grn",
    "receiver_hash_id": "45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27",
    "amount": "150",
    "reason": "test",
    "pay_over": false
}
"amount" - обязательно строка
"equivalent" - grn, usdg, btc
"reason", "pay_over"  - опциональные
"pay_over" - обозначает генерировать ли запрос на платеж больше чем максимальная сумма транзакции
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 2,
  "message": "There is no sufficient funds for the operation."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 3,
  "message": "Receiver can't be equal to sender."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 4,
  "message": "Remote node is inaccessible."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 5,
  "message": "No routes."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

История

История платежей

Получить историю платежей
GET/api/v1/account/history/payments/{?api_key}{&equivalent}

Example URI

GET /api/v1/account/history/payments/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

start
int (required) Example: 0
end
int (required) Example: 10
date_from
string (optional) Example: 2017-07-22T08:53:11.172718+00:00

в формате ISO 8601

date_to
string (optional) Example: 2017-08-22T08:53:11.172718+00:00

в формате ISO 8601

amount_from
string (optional) Example: 10.00
amount_to
string (optional) Example: 100.5
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "code": 0,
    "message": "OK",
    "data": {
        "transactions": [
            {
                "user": {
                     "hash_id": "45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27",
                     "username": "Vasia",
                     "avatar_url": "https://geo-pay.net/media/avatar.png"
                     },
                "balance_after_operation": null,
                "reason": null,
                "amount": "0",
                "datetime": "2017-08-03T13:16:22.428825+00:00",
                "type": 1
            },
        ]
    }
}

"datetime" - дата и время в формате ISO 8601

"type" может быть:
        0 - исходящий платеж,
        1 - входящий платеж,
        12 - запрос на платеж ожидается,
        13 - запрос на платеж отклонен,
        14 - запрос на платеж в обработке.
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

История линий доверия

Получить историю линий доверия
GET/api/v1/account/history/trust-lines/{?api_key}{&equivalent}

Example URI

GET /api/v1/account/history/trust-lines/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

start
int (required) Example: 0
end
int (required) Example: 10
date_from
string (optional) Example: 2017-07-22T08:53:11.172718+00:00

в формате ISO 8601

date_to
string (optional) Example: 2017-08-22T08:53:11.172718+00:00

в формате ISO 8601

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "code": 0,
    "message": "OK",
    "data": {
        "transactions": [
            {
                "user": {
                     "hash_id": "45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27",
                     "username": "Vasia",
                     "avatar_url": "https://geo-pay.net/media/avatar.png"
                     },
                "datetime": "2017-08-03T13:16:22.428825+00:00",
                "amount": "10"
                "type": 2,
                "open_trust_line": false
            },
        ]
    }
}

"datetime" - дата и время в формате ISO 8601

"type" может быть:
    2 - создание исходящей линии доверия,
    3 - создание входящей линии доверия,
    4 - изменение исходящей линии доверия,
    5 - изменение входящей линии доверия,
    6 - удаление исходящей линии доверия,
    7 - удаление входящей линии доверия,
    8 - исходящий запрос на линию доверия принят,
    9 - исходящий запрос на линию доверия отклонен,
    10 - входящий запрос на линию доверия принят,
    11 - входящий запрос на линию доверия отклонен.
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Линии доверия

Линии доверия

Получить линии доверия
GET/api/v1/account/trust-lines/{?api_key}{&equivalent}

Example URI

GET /api/v1/account/trust-lines/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "code": 0,
    "message": "OK",
    "data": {
        "trust_lines": [
            {
                "user": {
                     "username": "Jack Smith",
                     "hash_id": "45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33",
                     "avatar_url": "https://geo-pay.net/media/avatar.png",
                     "accept_payments_from_above": false
                },
                "outgoing_amount": "10",
                "used_outgoing_amount": "0",
                "incoming_amount": "20",
                "used_incoming_amount": "2"
            },
        ]
    }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Открыть линию доверия
POST/api/v1/account/trust-lines/

Example URI

POST /api/v1/account/trust-lines/
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "api_key": "APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe",
    "equivalent": "grn",
    "contractor_hash_id": "45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf27",
    "amount": "150"
}
"amount" - обязательно строка
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 2,
  "message": "Contractor can't be equal to current user."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 3,
  "message": "Trust line already exist."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 4,
  "message": "Conflict with other operation."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 5,
  "message": "Remote node is inaccessible."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 6,
  "message": "Remote node rejected operation."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Линия доверия с контрагентом

Получить линию доверия
GET/api/v1/account/trust-lines/{contractor_hash_id}/{?api_key}{&equivalent}

Example URI

GET /api/v1/account/trust-lines/45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

contractor_hash_id
string (required) Example: 45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK",
  "data": {
    "trust_line": {
      "outgoing_amount": "10",
      "used_outgoing_amount": "0",
      "incoming_amount": "20",
      "used_incoming_amount": "2"
    }
  }
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 2,
  "message": "Trust line does not exist."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Изменить линию доверия
PUT/api/v1/account/trust-lines/{contractor_hash_id}/

Example URI

PUT /api/v1/account/trust-lines/45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33/
URI Parameters
HideShow
contractor_hash_id
string (required) Example: 45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33
Request
HideShow
Headers
Content-Type: application/json
Body
{
    "api_key": "APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe",
    "equivalent": "grn",
    "new_amount": "150"
}
"new_amount" - обязательно строка
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 2,
  "message": "Trust line does not exist."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 3,
  "message": "Conflict with other operation."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 4,
  "message": "Remote node is inaccessible."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Закрыть линию доверия
DELETE/api/v1/account/trust-lines/{contractor_hash_id}/{?api_key}{&equivalent}

Example URI

DELETE /api/v1/account/trust-lines/45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33/?api_key=APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe&equivalent=grn
URI Parameters
HideShow
api_key
string (required) Example: APIKEY0367c1943d3334a2437d6882d9a6fb756e8b9a50f4fa3013cdf3701ed00d7900b1f0b420ade7068d8292b902577c4749e48d3d5c28cd88e8cd62ecbbbe
equivalent
string (required) Example: grn

grn, usdg, btc

contractor_hash_id
string (required) Example: 45dcdf0c99e0000115cc6039b09f50b297ed76a61f1hh01d533f93a8b445cf33
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 0,
  "message": "OK"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 1,
  "message": "Some parameters are absent, or invalid."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 2,
  "message": "Trust line does not exist."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 3,
  "message": "Conflict with other operation."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 4,
  "message": "Remote node is inaccessible."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 5,
  "message": "Trust line closed but not deleted."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 11,
  "message": "Api key is invalid."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "code": 12,
  "message": "Request body is invalid, it must contain raw json."
}

Generated by aglio on 10 Oct 2017