Статусы платежей
Метод позволяет получить актуальный статус платежа банковской картой по идентификатору из ответа при инициации (order_id) или по вашему user_data, если order_id не сохранён. Используйте запрос для опроса состояния после создания платежа по форме или через host2host (GATE), а также при сбоях доставки колбека.
Принцип работы
- Идентификация — в запросе указываете
order_id(из ответаinit_form/init_payment) илиuser_data(ID заказа на вашей стороне). - Запрос — сервер отправляет подписанный запрос на эндпоинт
status_payment. - Ответ — API возвращает JSON с текущим
status, суммами, маской карты и при необходимости полями для прохождения 3-D Secure (redirect_url,3ds_url,pa_req,creq,md).
Расшифровка кодов status и status_description — в разделе Статусы транзакций.
Техническая информация
| Эндпоинт | https://api.1payment.com/status_payment |
| Методы | GET, POST |
| Формат ответа | JSON |
| Тип платежа в ответе | Для карт поле payment_type равно card |
Параметры запроса
Обязательные
| Параметр | Тип | Описание |
|---|---|---|
partner_id | Integer | Ваш уникальный ID в системе 1Payment. |
project_id | Integer | Идентификатор вашего проекта. |
sign | String | Контрольная подпись запроса (см. раздел «Подпись»). |
Идентификация платежа
Нужно передать один из параметров:
| Параметр | Тип | Описание |
|---|---|---|
order_id | String | ID платежа в 1Payment (из ответа при инициации). |
user_data | String | Ваш ID заказа; используется, если order_id не указан. |
Формирование подписи (sign)
Подпись: MD5, lowercase (hex). Общие правила — Формат запроса к API.
Формула:
MD5(status_payment + <параметры_без_sign_в_алфавитном_порядке_через_&> + <API_KEY>)Пример строки до хеширования (поиск по order_id):
status_paymentorder_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&partner_id=1234&project_id=5678secret_keyПроверка подписи в документации
Проверка подписи {{method}}
Вставьте параметры запроса (JSON), API key и подпись. Виджет автоматически проверит корректность.
order_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&partner_id=1234&project_id=5678status_paymentorder_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&partner_id=1234&project_id=5678a33a3e5a9bd5dedd4a397513abd74094Примеры запроса
const crypto = require('crypto');
const axios = require('axios');
async function getCardPaymentStatus(apiKey, params) {
const sortedKeys = Object.keys(params).sort();
const queryString = sortedKeys.map((key) => `${key}=${params[key]}`).join('&');
const baseString = `status_payment${queryString}${apiKey}`;
params.sign = crypto.createHash('md5').update(baseString).digest('hex');
const response = await axios.get('https://api.1payment.com/status_payment', { params });
return response.data;
}
const apiKey = process.env.ONEPAYMENT_API_KEY;
const data = {
partner_id: 1234,
project_id: 5678,
order_id: '8p3brmb19gfg0sg8gcwhws8kgc748s87',
};
getCardPaymentStatus(apiKey, data).then(console.log);Ответ API
Успешный ответ (200):
{
"payment_type": "card",
"project_id": 5678,
"order_id": "8p3brmb19gfg0sg8gcwhws8kgc748s87",
"user_data": "order_777",
"status": 3,
"status_description": "SUCCESS",
"init_time": "2026-05-05T18:23:11Z",
"status_time": "2026-05-05T18:23:42Z",
"merchant_price": 50,
"init_price": 50,
"user_price": 48.5,
"currency": "RUB",
"account": "411111******1111",
"token": "card_t_1a2b3c"
}| Поле | Описание |
|---|---|
payment_type | Тип платежа; для карт — card. |
project_id | ID вашего проекта. |
order_id | ID платежа в системе 1Payment. |
user_data | Идентификатор, переданный при создании платежа. |
status | Числовой код: 2 — ожидание, 3 — успех, 4 — отказ. |
status_description | PENDING, SUCCESS или FAILURE. |
init_time | Время создания платежа (UTC). |
status_time | Время получения текущего статуса (UTC). |
merchant_price | Сумма платежа для плательщика. |
init_price | Сумма при инициации. |
user_price | Отчисления партнёра. |
currency | Валюта платежа (ISO 4217). |
account | Маска номера карты. |
status_code | Код причины отказа (при status = 4; см. коды отказов). |
token | Идентификатор сохранённой карты при успешной оплате (если подключено; см. подписки). |
test | 1 для тестовых транзакций. |
Поля 3-D Secure
При статусе ожидания и необходимости прохождения 3-D Secure в ответе могут присутствовать:
| Поле | Описание |
|---|---|
redirect_url | URL для перенаправления плательщика на ACS банка. |
3ds_url | URL ACS банка для прохождения 3-D Secure. |
pa_req | Параметр для 3-D Secure v1.x. |
creq | Параметр для 3-D Secure v2.x. |
md | Служебный параметр 3-D Secure. |
Если в ответе есть redirect_url или 3ds_url, перенаправьте плательщика для завершения оплаты (см. также host2host (GATE)).
Ошибка запроса (400):
{
"error_code": 2
}