Создание платежа
Создание платежа
POST /v2/payment · Статус API: stable · Подпись: обязательна
Тело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
accountId | String | Обязательно | ID счёта, с которого списывается платёж. Пользователь userId должен иметь права на списание с этого счёта. |
fields | Object | Обязательно | Реквизиты получателя (см. requiredFields услуги). |
service.id | String | Обязательно | ID услуги в домене Finik. |
transactionId | String | Обязательно | Уникальный ID транзакции на вашей стороне. Ключ идемпотентности: повторный запрос с тем же ID вернёт 409 и не создаст дубликат платежа. |
userId | String | Обязательно | ID пользователя, от имени которого делается запрос. |
Пример запроса
POST /v2/payment
POST /v2/payment HTTP/1.1
Host: api.paymentsgateway.averspay.kg
Content-Type: application/json
signature: <signature>
x-api-key: <apiKey>
x-api-timestamp: 1719900000000 // Use Date.now() for the current timestamp.
{
"accountId": "e2a32f7a-d5c0-11ec-9d64-0242ac120002",
"fields": {
"amount": 100,
"phone": "+996502502502"
},
"service": { "id": "averspay" },
"transactionId": "74e55218-d5b8-11ec-9d64-0242ac120002",
"userId": "d822f440-d5c0-11ec-9d64-0242ac120002"
}Ответ (дополнительно к полям запроса)
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
id | String | Обязательно | Уникальный ID транзакции в домене Finik. Используется в GET /v2/payments/{paymentId}. |
requestDate | Number | Обязательно | Дата поступления запроса, UNIX timestamp. |
status | String | Обязательно | Статус платежа: CANCELED, FAILED, PENDING, PROCESSING, SUCCEEDED. |
statusCode | Number | Обязательно | 200 — синхронная услуга (результат уже финальный), 201 — асинхронная (принято в обработку, статус придёт позже). |
transactionDate | Number | Опционально | Дата проведения транзакции, UNIX timestamp. Наличие этого поля означает финальное состояние платежа. |
Примеры ответов
200 OK — успешный платёж
{
"accountId": "e2a32f7a-d5c0-11ec-9d64-0242ac120002",
"fields": {
"amount": 100,
"phone": "+996502502502"
},
"requestDate": 1647519215,
"service": { "id": "averspay" },
"status": "SUCCEEDED",
"statusCode": 200,
"transactionDate": 1652774887442,
"transactionId": "74e55218-d5b8-11ec-9d64-0242ac120002",
"userId": "d822f440-d5c0-11ec-9d64-0242ac120002"
}403 Forbidden — ошибочный запрос
{
"statusCode": 403,
"errorMessage": "User is not authorized to access this resource with an explicit deny"
}Проверка статуса
GET /v2/payments/{paymentId} · Статус API: stable · Подпись: обязательна
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
paymentId | String | Обязательно | ID платежа (id из ответа на создание платежа). |
Когда проверять: в 99% случаев статус на стороне поставщика услуг меняется в течение 30 секунд. Рекомендуемая стратегия — подождать 30 секунд и проверить статус. Для лучшего UX и производительности рекомендуем вместо поллинга реализовать вебхук.
Пример запроса
GET /v2/payments/{paymentId}
GET /v2/payments/1354731116_CCB5D786-B5D6-494A-8B6A-26F25BCA1D1B_CREDIT HTTP/1.1
Host: api.paymentsgateway.averspay.kg
signature: <signature>
x-api-key: <apiKey>
x-api-timestamp: 1719900000000 // Use Date.now() for the current timestamp.Пример ответа (сокращён)
200 OK — статус платежа
{
"id": "1354731116_CCB5D786-B5D6-494A-8B6A-26F25BCA1D1B_CREDIT",
"accountId": "0242ac12-d5c0-11ec-9d64-e2a32f7a0002",
"amount": 200,
"fields": {
"amount": 200,
"phone": "+996709111213"
},
"requestDate": 1672983615075,
"service": { "id": "averspay" },
"status": "SUCCEEDED",
"statusCode": 200,
"transactionDate": 1672983615133,
"transactionId": "CCB5D786-B5D6-494A-8B6A-26F25BCA1D1B",
"transactionType": "CREDIT",
"userId": "0242ac12-d5c0-11ec-9d64-d822f4400002"
}Статус может быть SUCCEEDED, FAILED или PROCESSING.
Баланс счёта
GET /v2/accounts/{accountId} · Статус API: stable · Подпись: обязательна
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
accountId | String | Обязательно | ID счёта, баланс которого нужно получить. |
Пример запроса
GET /v2/accounts/{accountId}
GET /v2/accounts/0242ac12-d5c0-11ec-9d64-e2a32f7a0002 HTTP/1.1
Host: api.paymentsgateway.averspay.kg
signature: <signature>
x-api-key: <apiKey>
x-api-timestamp: 1719900000000 // Use Date.now() for the current timestamp.Пример ответа
200 OK — баланс
{
"id": "0242ac12-d5c0-11ec-9d64-e2a32f7a0002",
"balance": {
"amount": 200,
"currency": "KGS"
},
"name": "Agent 007"
}