Создание заявки на вывод

Запрос

URL

https://api.enot.io/payoff/create

Метод отправки

POST

Если вы не получили корректный ответ, например, при сетевой ошибке, то рекомендуем перепроверить выплату через "Информация о выводе", во избежание повторного создания заявки.

Параметры запроса:

nametypedescription
user_id*uuidИдентификатор пользователя (используется для авторизации)
service*stringСервис вывода (полный код) ***
wallet_to**string|max:255Номер карты/телефона/кошелька для вывода
amount*numberСумма вывода
order_idstring|max:255Уникальный идентификатор платежа в системе мерча
commentstring|max:255Комментарий
hook_urlstring|max:500Куда отправлять хук
subtractintС кого списывать комиссию, с баланса или с суммы.
По умолчанию комиссия снимается с суммы.
Варианты:
1 - с баланса;
2 - с суммы
payoff_data****object Дополнительные данные вывода
payoff_data.sbp_bank_type****stringID банка в системе быстрых платежей (СБП). Можно получить из метода get-sbp-bank-list
type
uuid
description
Идентификатор пользователя (используется для авторизации)
type
string
description
Сервис вывода (полный код) ***
type
string|max:255
description
Номер карты/телефона/кошелька для вывода
type
number
description
Сумма вывода
type
string|max:255
description
Уникальный идентификатор платежа в системе мерча
type
string|max:255
description
Комментарий
type
string|max:500
description
Куда отправлять хук
type
int
description
С кого списывать комиссию, с баланса или с суммы.
По умолчанию комиссия снимается с суммы.
Варианты:
1 - с баланса;
2 - с суммы
type
object
description
Дополнительные данные вывода
type
string
description
ID банка в системе быстрых платежей (СБП). Можно получить из метода get-sbp-bank-list

* Поля обязательные для заполнения

** Поля обязательные для заполнения, за исключением системы Garantex

*** Системы вывода указаны ниже

**** Поле обязательно для заполнения, при выборе сервиса СБП

Ответ после запроса:

Формат ответа

JSON

nametypedescription
payoff_iduuidID вывода
amount_withdraw_rubstringСумма списания с баланса (в рублях)
balancestringБаланс после списания суммы вывода
type
uuid
description
ID вывода
type
string
description
Сумма списания с баланса (в рублях)
type
string
description
Баланс после списания суммы вывода

Возможные статусы ответа:

  • 200 : Успех
  • 401 : Ошибка авторизации (неверный user_id или секретный ключ)
  • 403 : Ошибка доступа (отключен вывод, неактивный пользователь, неправильный секретный ключ, сумма меньше или больше доступной по тарифу)
  • 404 : объект не найден (Не найден тариф для вывода, или он выключен)
  • 422 : Ошибка валидации
  • 500 : Внутренняя ошибка системы

Пример запроса

URL

https://api.enot.io/payoff/create

Метод отправки

POST

Тело запроса

  1. 1.{
  2. 2. "user_id": "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
  3. 3. "service": "card",
  4. 4. "wallet_to": "400000000000000",
  5. 5. "amount": 100,
  6. 6. "order_id": "string",
  7. 7. "comment": null,
  8. 8. "hook_url": "enot.io/hook",
  9. 9. "subtract": 1,
  10. 10. "payoff_data": {
  11. 11. "sbp_bank_type": "100000000004"
  12. 12. }
  13. 13.}

Curl

  1. 1.curl -X 'POST' \
  2. 2.'https://api.enot.io/payoff/create' \
  3. 3.-H 'accept: application/json' \
  4. 4.-H 'x-api-signature-sha256: d6be996241deef230e9a0ca9dc60679da8720d14' \
  5. 5.-H 'Content-Type: application/json' \
  6. 6.-d '{
  7. 7. "user_id": "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
  8. 8. "service": "card",
  9. 9. "wallet_to": "400000000000000",
  10. 10. "amount": 100,
  11. 11. "order_id": "string",
  12. 12. "comment": null,
  13. 13. "hook_url": "https://enot.io/hook",
  14. 14. "subtract": 1,
  15. 15. "payoff_data": {
  16. 16. "sbp_bank_type": "100000000004"
  17. 17. }
  18. 18. }'

Responses

При успешном запросе: код ответа - 200.

  1. 1.{
  2. 2. "data": {
  3. 3. "payoff_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  4. 4. "amount_withdraw_rub": 0,
  5. 5. "balance": 0
  6. 6. },
  7. 7. "status": 200,
  8. 8. "status_check": true,
  9. 9.}

При ошибке: код ответа - 401, 404, 422, 500.

  1. 1.{
  2. 2. "data": null,
  3. 3. "error": "Недействительный кошелёк.",
  4. 4. "status": 422,
  5. 5. "status_check": false
  6. 6.}

Примеры кода:

  1. 1.import json
  2. 2.import requests
  3. 3.
  4. 4.
  5. 5.# Create payoff
  6. 6.def create_payoff(api_key, payoff_data):
  7. 7. session = requests.Session()
  8. 8. session.headers['Accept'] = 'application/json'
  9. 9. session.headers['Content-Type'] = 'application/json'
  10. 10. session.headers['x-api-signature-sha256'] = api_key
  11. 11. response = session.post('https://api.enot.io/payoff/create', data=json.dumps(payoff_data))
  12. 12. return response.json()
  13. 13.
  14. 14.
  15. 15.api_key = 'd6be996241deef230e9a0ca9dc60679da8720d14'
  16. 16.payoff_data = {
  17. 17. "user_id": "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
  18. 18. "service": "card",
  19. 19. "wallet_to": "400000000000000",
  20. 20. "amount": 100,
  21. 21. "order_id": "string",
  22. 22. "comment": None,
  23. 23. "hook_url": "enot.io/hook",
  24. 24. "subtract": 1,
  25. 25. "payoff_data": {
  26. 26. "sbp_bank_type": "100000000004"
  27. 27. }
  28. 28.}
  29. 29.
  30. 30.# Response full info
  31. 31.payoff = create_payoff(api_key, payoff_data)
  32. 32.
  33. 33.# Response status
  34. 34.payoff['status']
  35. 35.
  36. 36.# Payoff data
  37. 37.payoff['data']
  38. 38.
  39. 39.# Payoff info
  40. 40.payoff['data']['payoff_id']
  41. 41.payoff['data']['amount_withdraw_rub']
  42. 42.payoff['data']['balance']
  1. 1.function createPayoff(string $apiKey, array $payoffData): array
  2. 2.{
  3. 3. $url = "https://api.enot.io/payoff/create";
  4. 4. $headers = [
  5. 5. "accept: application/json",
  6. 6. "content-type: application/json",
  7. 7. "x-api-signature-sha256: {$apiKey}"
  8. 8. ];
  9. 9.
  10. 10. $ch = curl_init();
  11. 11. curl_setopt($ch, CURLOPT_URL, $url);
  12. 12. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  13. 13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  14. 14. curl_setopt($ch, CURLOPT_POST, true);
  15. 15. curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payoffData));
  16. 16. $response = curl_exec($ch);
  17. 17. curl_close($ch);
  18. 18. return json_decode($response, true);
  19. 19.}
  20. 20.
  21. 21.$apiKey = "d6be996241deef230e9a0ca9dc60679da8720d14";
  22. 22.$payoffData = [
  23. 23. "user_id" => "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
  24. 24. "service" => "card",
  25. 25. "wallet_to" => "400000000000000",
  26. 26. "amount" => 100,
  27. 27. "order_id" => "string",
  28. 28. "comment" => null,
  29. 29. "hook_url" => "enot.io/hook",
  30. 30. "subtract" => 1,
  31. 31. "payoff_data": [
  32. 32. "sbp_bank_type" => "100000000004"
  33. 33. ]
  34. 34.];
  35. 35.
  36. 36.# Response full info
  37. 37.$payoff = createPayoff($apiKey, $payoffData);
  38. 38.
  39. 39.# Response status
  40. 40.$payoff['status'];
  41. 41.
  42. 42.# Payoff data
  43. 43.$payoff['data'];
  44. 44.
  45. 45.# Payoff info
  46. 46.$payoff['data']['payoff_id'];
  47. 47.$payoff['data']['amount_withdraw_rub'];
  48. 48.$payoff['data']['balance'];