Перейти к основному содержимому

Выплаты на мобильных операторов

API URL

https://paysys.uz/mobile/api

Предупреждение

Данный раздел API находится на стадии разработки и может быть изменен.

Общие принципы

API построено на базе REST API, где названия методов являются суффиксами к базовому URL.
Например, вызов метода info осуществляется POST запросом на URL https://paysys.uz/mobile/api/info.

Для каждого сервиса установлен лимит на количество запросов в период времени. По умолчанию 100 запросов в минуту.
Если лимит запросов превышен, система вернет ошибку с HTTP кодом 429 и указанием периода времени для возобновления запросов в заголовке Retry-After.

Авторизация и безопасность

Для обеспечения безопасности используется криптографический протокол TLS v1, TLS v1.1 или TLS v1.2.
Для того чтобы авторизоваться, платежный инструмент должен отправить HTTP заголовок Auth.

Структура заголовка Auth

HTTP заголовок: Auth: service_id-hash-timestamp

  • hashsha1(secret_key + timestamp)
  • timestamp - UTC Время подписания запроса в миллисекундах
  • service_id – Идентификатор платежного инструмента в системе PaySys. (Выдается при регистрации платежного инструмента)
  • secret_key – Ключ платежного инструмента. (Выдается при регистрации платежного инструмента)

Пример HTTP заголовка:
Auth: 05e3bab097f42yu0a62ced0b-7f420a62c22fbe3bab09ed0b57874898-1399114284039

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

Пример запроса CURL
curl -X POST --location "https://paysys.self/mobile/api/info" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Auth: 05e3bab097f42yu0a62ced0b-7f420a62c22fbe3bab09ed0b57874898-1399114284039" \
-d "{
\"id\": \"d5081c6b-ec14-464a-83b1-cebbfd1cd0fc\",
\"params\": {
\"phone_number\": \"998110010101\"
}
}"

Ответ содержит:

{
"id": "d5081c6b-ec14-464a-83b1-cebbfd1cd0fc",
"error": {
"code": -32303,
"message": "Неверный формат телефона"
},
"result": null
}

Проверка номера телефона

Название метода: info
Авторизация: требуется

Проверяет номер телефона и возвращает информацию об операторе мобильной связи, а также минимальную и максимальную сумму платежа.

Запрос содержит:

  • phone_number - Номер телефона в международном формате
Пример запроса
{
"id": "44db5b15-1fd6-4a6a-a76d-4ee5b0641846",
"params": {
"phone_number": "998933111010"
}
}

Ответ содержит:

  • id - Идентификатор мерчанта в системе PaySys
  • name - Наименование сотового оператора
  • name_uz - Наименование сотового оператора на узбекском языке
  • url - Ссылка на сайт мобильного оператора
  • logo - Ссылка на изображение логотипа мобильного оператора
  • description - Краткое описание/вспомогательная информация для оплаты
  • min_amount - Минимальная сумма пополнения, сум
  • max_amount - Максимальная сумма пополнения, сум
Пример ответа
{
"id": "44db5b15-1fd6-4a6a-a76d-4ee5b0641846",
"error": null,
"result": {
"id": 100081,
"name": "Ucell",
"name_uz": "",
"url": "https://ucell.uz",
"logo": "https://paysys.uz/application/resources/img/ucell.jpg",
"description": "",
"min_amount": 1000,
"max_amount": 500000000
}
}

В случае некорректных параметров запроса система вернет ошибку.


Проведение платежа

Название метода: pay
Авторизация: требуется

Производит выплату на номер мобильного оператора.

Запрос содержит:

  • phone_number - Номер телефона в международном формате
  • payment_number - Идентификатор транзакции в платежной системе партнера. Не обязателен. При наличии проверит существование платежа и вернет существующую транзакцию, если платеж уже проведен.
  • amount - Сумма платежа, сум
Пример запроса
{
"id": "fd7ecb3c-169b-4e4a-809c-62e18596d0cf",
"params": {
"phone_number": 2296344,
"payment_number": 1005641001,
"amount": 1000
}
}

Ответ содержит:

  • transaction_id - Идентификатор транзакции в системе PaySys
  • amount - Сумма транзакции в сумах с учетом комиссии
  • status - Статус платежа
    2 - Платеж завершен
    1 - В ожидании оплаты
    3 - Отмена
    6 - Возврат
    7 - В ожидании подтверждения списания (захолдировано на карте клиента)
    0 - Платеж создан
    -1 - Ошибка
  • date - Дата создания транзакции в секундах
Пример ответа
{
"id": "d5081c6b-ec14-464a-83b1-cebbfd1cd0fc",
"error": null,
"result": {
"transaction_id": 2355072,
"amount": 1000,
"status": 2,
"date": 1654499113
}
}

В случае некорректных параметров запроса система вернет ошибку.


Проверка статуса платежа

Название метода: status
Авторизация: требуется

Запрос содержит:

  • transaction_id - Идентификатор платежа в системе PaySys
Пример запроса
{
"id": "9bcce9cf-c46e-45e8-9ac5-51bf8e9180e2",
"params": {
"transaction_id": 2355072
}
}

Ответ содержит:

  • bank_transaction_id - Идентификатор платежа
  • amount - Сумма платежа в сумах
  • date - Дата создания транзакции в секундах
  • status - Статус платежа
    2 - Платеж завершен
    1 - В ожидании оплаты
    3 - Отмена
    6 - Возврат
    7 - В ожидании подтверждения списания (захолдировано на карте клиента)
    0 - Платеж создан
    -1 - Ошибка
Пример ответа
{
"id": "9bcce9cf-c46e-45e8-9ac5-51bf8e9180e2",
"error": null,
"result": {
"transaction_id": 2355072,
"amount": 1000,
"status": 2,
"date": 1654499113
}
}

В случае некорректных параметров запроса система вернет ошибку.