Создание заявки на вывод
Запрос
URL
https://api.enot.io/payoff/create
Метод отправки
POST
Если вы не получили корректный ответ, например, при сетевой ошибке, то рекомендуем перепроверить выплату через "Информация о выводе", во избежание повторного создания заявки.
Параметры запроса:
name | type | description |
---|---|---|
user_id* | uuid | Идентификатор пользователя (используется для авторизации) |
service* | string | Сервис вывода (полный код) *** |
wallet_to** | string|max:255 | Номер карты/телефона/кошелька для вывода |
amount* | number | Сумма вывода |
order_id | string|max:255 | Уникальный идентификатор платежа в системе мерча |
comment | string|max:255 | Комментарий |
hook_url | string|max:500 | Куда отправлять хук |
subtract | int | С кого списывать комиссию, с баланса или с суммы. По умолчанию комиссия снимается с суммы. Варианты: 1 - с баланса; 2 - с суммы |
payoff_data**** | object | Дополнительные данные вывода |
payoff_data.sbp_bank_type**** | string | ID банка в системе быстрых платежей (СБП). Можно получить из метода 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
name | type | description |
---|---|---|
payoff_id | uuid | ID вывода |
amount_withdraw_rub | string | Сумма списания с баланса (в рублях) |
balance | string | Баланс после списания суммы вывода |
- 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.{
- 2. "user_id": "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
- 3. "service": "card",
- 4. "wallet_to": "400000000000000",
- 5. "amount": 100,
- 6. "order_id": "string",
- 7. "comment": null,
- 8. "hook_url": "enot.io/hook",
- 9. "subtract": 1,
- 10. "payoff_data": {
- 11. "sbp_bank_type": "100000000004"
- 12. }
- 13.}
Curl
- 1.curl -X 'POST' \
- 2.'https://api.enot.io/payoff/create' \
- 3.-H 'accept: application/json' \
- 4.-H 'x-api-signature-sha256: d6be996241deef230e9a0ca9dc60679da8720d14' \
- 5.-H 'Content-Type: application/json' \
- 6.-d '{
- 7. "user_id": "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
- 8. "service": "card",
- 9. "wallet_to": "400000000000000",
- 10. "amount": 100,
- 11. "order_id": "string",
- 12. "comment": null,
- 13. "hook_url": "https://enot.io/hook",
- 14. "subtract": 1,
- 15. "payoff_data": {
- 16. "sbp_bank_type": "100000000004"
- 17. }
- 18. }'
Responses
При успешном запросе: код ответа - 200.
- 1.{
- 2. "data": {
- 3. "payoff_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- 4. "amount_withdraw_rub": 0,
- 5. "balance": 0
- 6. },
- 7. "status": 200,
- 8. "status_check": true,
- 9.}
При ошибке: код ответа - 401, 404, 422, 500.
- 1.{
- 2. "data": null,
- 3. "error": "Недействительный кошелёк.",
- 4. "status": 422,
- 5. "status_check": false
- 6.}
Примеры кода:
- 1.import json
- 2.import requests
- 3.
- 4.
- 5.# Create payoff
- 6.def create_payoff(api_key, payoff_data):
- 7. session = requests.Session()
- 8. session.headers['Accept'] = 'application/json'
- 9. session.headers['Content-Type'] = 'application/json'
- 10. session.headers['x-api-signature-sha256'] = api_key
- 11. response = session.post('https://api.enot.io/payoff/create', data=json.dumps(payoff_data))
- 12. return response.json()
- 13.
- 14.
- 15.api_key = 'd6be996241deef230e9a0ca9dc60679da8720d14'
- 16.payoff_data = {
- 17. "user_id": "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
- 18. "service": "card",
- 19. "wallet_to": "400000000000000",
- 20. "amount": 100,
- 21. "order_id": "string",
- 22. "comment": None,
- 23. "hook_url": "enot.io/hook",
- 24. "subtract": 1,
- 25. "payoff_data": {
- 26. "sbp_bank_type": "100000000004"
- 27. }
- 28.}
- 29.
- 30.# Response full info
- 31.payoff = create_payoff(api_key, payoff_data)
- 32.
- 33.# Response status
- 34.payoff['status']
- 35.
- 36.# Payoff data
- 37.payoff['data']
- 38.
- 39.# Payoff info
- 40.payoff['data']['payoff_id']
- 41.payoff['data']['amount_withdraw_rub']
- 42.payoff['data']['balance']
- 1.function createPayoff(string $apiKey, array $payoffData): array
- 2.{
- 3. $url = "https://api.enot.io/payoff/create";
- 4. $headers = [
- 5. "accept: application/json",
- 6. "content-type: application/json",
- 7. "x-api-signature-sha256: {$apiKey}"
- 8. ];
- 9.
- 10. $ch = curl_init();
- 11. curl_setopt($ch, CURLOPT_URL, $url);
- 12. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- 13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- 14. curl_setopt($ch, CURLOPT_POST, true);
- 15. curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payoffData));
- 16. $response = curl_exec($ch);
- 17. curl_close($ch);
- 18. return json_decode($response, true);
- 19.}
- 20.
- 21.$apiKey = "d6be996241deef230e9a0ca9dc60679da8720d14";
- 22.$payoffData = [
- 23. "user_id" => "a6f112da-7c3f-4323-ad99-ec3630e7c8ff",
- 24. "service" => "card",
- 25. "wallet_to" => "400000000000000",
- 26. "amount" => 100,
- 27. "order_id" => "string",
- 28. "comment" => null,
- 29. "hook_url" => "enot.io/hook",
- 30. "subtract" => 1,
- 31. "payoff_data": [
- 32. "sbp_bank_type" => "100000000004"
- 33. ]
- 34.];
- 35.
- 36.# Response full info
- 37.$payoff = createPayoff($apiKey, $payoffData);
- 38.
- 39.# Response status
- 40.$payoff['status'];
- 41.
- 42.# Payoff data
- 43.$payoff['data'];
- 44.
- 45.# Payoff info
- 46.$payoff['data']['payoff_id'];
- 47.$payoff['data']['amount_withdraw_rub'];
- 48.$payoff['data']['balance'];