Завершение платежа с использованием баланса клиента
Метод Complete payment from balance используется для завершения платежа текущего реселлера или любого из его нижестоящих реселлеров, за счет средств на балансе клиента. Завершить можно только платежи в статусе Ожидает оплаты. Завершение платежей на пополнение баланса клиента с использованием данного метода недоступно.
Для авторизации требуется API-токен менеджера (сотрудника). API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).
По указанному в запросе API-токену определяются:
- Роль и уровень доступа менеджера, от которых зависит доступность метода.
- Текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.
PATCH {base_url}/api/v3/resellers/{reseller_id}/payments/{payment_id}
{
"data":
{
"attributes":
{
"status": "paid_from_balance"
}
}
}
Аргументы
Название | Тип параметра | Тип данных | Обязательный/ | Описание |
---|---|---|---|---|
X-Api-Token | header | string | Обязательный | API-токен сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике) |
Content-Type | header | string | Обязательный | Тип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json |
Accept | header | string | Обязательный | Поддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json |
base_url | path | string | Обязательный | URL ActivePlatform |
reseller_id | path | number | Обязательный | ID реселлера. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере) |
payment_id | path | number | Обязательный | ID платежа |
Модель ответа
При успешном завершении платежа метод возвращает информацию о платеже (см. Получение информации о платеже без включения в ответ дополнительной информации included
о связанных объектах).
Пример запроса
PATCH /api/v3/resellers/1/payments/6485
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
"data":
{
"attributes":
{
"status": "paid_from_balance"
}
}
}
Пример ответа
{
"data": {
"id": "6485",
"type": "payments",
"attributes": {
"created_at": "2019-11-01T09:50:47.020146+0300",
"updated_at": "2019-11-01T09:51:06.281534+0300",
"account_id": 505,
"discount_amount": "0.0",
"total": "21.0",
"currency_code": "USD",
"comment": "Payment for order 8149",
"status": "paid_from_balance",
"document_id": "2005268",
"expiration_date": null,
"payment_method_id": null,
"requester_ip": "10.0.0.203",
"manager_id": null,
"purpose": "",
"external_total": null,
"external_currency": null,
"due_date": null,
"payment_method_name": null,
"closed_at": "2019-11-01T09:51:06.281534+0300"
},
"relationships": {
"orders": {
"data": [
{
"id": "8149",
"type": "sales_orders"
}
]
},
"invoices": {
"data": []
},
"corrections": {
"data": []
},
"reseller": {
"data": {
"id": "1",
"type": "resellers"
}
},
"account": {
"data": {
"id": "505",
"type": "accounts"
}
},
"payment_method": {
"data": null
}
}
}
}
Ошибки
При возникновении ошибки метод возвращает описание ошибки, например:
- Если баланс клиента меньше суммы платежа:
{
"errors": {
"title": "The payment cannot be completed due to absence of enough amount of money on balance.",
"status": "422"
}
}
- Если платеж уже был завершен:
{
"errors": {
"title": "This payment cannot be completed by balance.",
"status": "422"
}
}
- Если платеж находится в статусе, отличном от Ожидает оплаты:
{
"errors": {
"title": "Only payments with /"waiting for payment/" status can be completed",
"status": "422"
}
}
- Если платеж является платежом для пополнения баланса клиента:
{
"errors": {
"title": "Topup payment cannot be completed by balance.",
"status": "422"
}
}