Skip to main content

API Документация. Полная документация API для работы с платежами, балансами и транзакциями. Basic Url: https://core.feennex.com/

API Feennex (RU)

Введениe

Feennex — это решение для электронных платежей, которое позволяет принимать платежи и осуществлять выплаты.

С помощью Feennex покупатели могут переводить вам деньги любым из поддерживаемых способов. После оплаты Feennex проверяет успешность зачисления и перечисляет вам деньги.

Чтобы начать принимать платежи, вам нужно выбрать наиболее удобный сценарий интеграции, создать магазин и проинтегрироваться с Feennex по API.

O приеме платежей

При подключении вы создадите магазин Feennex. В личном кабинете вы можете узнать баланс магазина и настроить параметры для приема платежей.

В процессе оплаты вы размещаете платежную форму у себя на сайте или отправляете в Feennex запрос с данными о платеже и вашем магазине и дожидаетесь успешного выполнения запроса.

Плательщик перенаправляется на платежную страницу – вашу или готовую. На платежной странице плательщик совершает следующие действия:

  • Выбирает способ оплаты
  • Вводит данные для оплаты
  • При необходимости подтверждает платеж. Например, проходит аутентификацию по 3-D Secure

Если оплата прошла, сумма от плательщика поступает на баланс вашего магазина. Вывести деньги вы можете через личный кабинет или с помощью API.

Доступные способы оплаты для вашего магазина вы можете узнать в личном кабинете в настройках магазина в разделе Методы оплаты. Для подключения дополнительных способов оплаты свяжитесь с менеджером.

О выплатах

С помощью Feennex вы можете со счета вашего магазина делать выплаты вашим клиентам на кошельки Feennex и сторонние платежные системы.

Доступные платежные системы для вашего магазина вы можете узнать в личном кабинете в настройках магазина в разделе Направления вывода. Для подключения дополнительных способов оплаты свяжитесь с менеджером.

Формaт взаимодействия

В Feennex API есть несколько основных сущностей:

  • Платеж – нужен для приема оплаты от плательщика. Платеж содержит всю информацию о платеже
  • Выплата – нужна для вывода денег со счета магазина вашим клиентам.

Процесс оплаты зависит от выбранного сценария интеграции

Oсновы

Feennex API построено на принципах REST. Каждый запрос в API связан с выполнением определенного действия над платежом или выплатой, например создание или получение статуса.

Feennex API использует HTTP, что делает его совместимым с разработкой на любом языке программирования, который поддерживает HTTP-библиотеки (например, Requests, Httpx, Axios, Guzzle и другие).

API endpoint: https://core.feennex.com/<метод API>

API поддерживает POST и GET-запросы. POST использует JSON для аргументов, а GET — строковые запросы. API всегда возвращает ответ в формате JSON, независимо от типа запроса.

При отправке запроса к Feennex API нужно указать заголовок "Content-Type: application/json" и каждый раз генерировать подпись с помощью вашего секретного ключа. Секретный ключ можно получить в личном кабинете.

Если вы не передали обязательные параметры, в ответе вернется ошибка с пояснением, какого параметра не хватает в запросе.

Для работы с API Feennex вы можете использовать готовые библиотеки для языков Python и PHP.

Oбрaботка ответов

Feennex API обрабатывает полученный запрос немедленно и возвращает результат обработки. Ответ содержит код ответа HTTP, стандартные заголовки и тело ответа в формате JSON. В теле ответа возвращаются следующие параметры:

  • data — содержит данные, специфичные для каждого запроса. Тип – object.
  • error_code — содержит код ошибки. Тип - number. Пример: 0 – ошибок нет. Подробнее про возможные коды ошибок
  • result — показывает, прошел запрос успешно или нет. Тип – boolean. Пример: true
  • message — содержит описание ошибки. Тип – string. Пример: "Ok". По значению этого параметра можно узнать, что пошло не так.

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

Тело ответа при успехе

Формат тела ответа — JSON. Параметры тела ответа зависят от запроса.

Пример тела ответа

{
"data": {
"data": {
"session_id": "3067894a580242dd86e03890506a88b"
},
"id": 499564464,
"method": "GET",
"url": "https://example.com"
},
"error_code": 0,
"message": "Ok",
"result": true
}
Тело ответа при ошибке

Если с запросом что-то не так, вернется тело ответа в формате JSON с кодом ошибки. Подробнее про коды ошибок

Пример тела ответа при неправильно сформированной подписи

{
"data": null,
"error_code": 10,
"message": "Invalid sign, string_to_sign: 500:840:card_usd:6199:99991",
"result": false
}

Вxодящие уведомления

Основы

Важно! Feennex временно отправляет уведомления в формате raw data вместо JSON.

Пример уведомления в raw data

"client_price=1.0
&created=2024-12-03+14%3A39%3A02
&email=1%401.1
&lang=en
&payment_id=1
&payway=bank_usd
&processed=2024-12-03+15%3A47%3A07
&ps_currency=643
&ps_data=%7B%22
amount%22%3A+1.0%2C
+%22bank%22%3A
+%22bank_example%22%2C
+%22card%22%3A+%22%22%2C
+%22card_holder_name%22%3A+null%2C
+%22currency%22%3A+%22usd%22%2C
+%22expired%22%3A+1733226844.041605%2C
+%22method%22%3A
+%22bank_usd%22%2C
+%22paysystem_payway_id%22%3A+%2235%22%2C
+%22phone%22%3A+null%2C
+%22qr_data%22%3A+null%2C
+%22receipt_status_url%22%3A+%22https%3A%2F%2Fexample.com%2C
+%22receipt_url%22%3A+%22https%3A%2F%2Fexample.com%2C
+%22receipt_web%22%3A+%22https%3A%2F%2Fexample.com%2C
+%22rejected_reason%22%3A+%22%22%7D
&shop_amount=1.0
&shop_currency=840
&shop_id=1
&shop_order_id=1
&shop_refund=1.0
&sign=daf8f354f3
&status=success
&user_ip=1.2.3.4"

Вы можете подключить уведомления (callback) о событиях с платежом. Эти уведомления помогают узнать, когда статус платежа меняется.

Пример: Feennex может обрабатывать платеж несколько минут. Если вы подключили уведомления, вам не придется всё это время отправлять запросы на получение информации о платеже. Просто дождитесь уведомления от Feennex.

События, при которых Feennex присылает уведомление, зависят от типа операции:

  • Оплата кошельком Feennex
  • Оплата сторонними способами оплаты

Обратите внимание! Feennex не присылает уведомления о смене статуса выплаты. Вам нужно периодически запрашивать статус выплаты самостоятельно. Коллбэки на вводе приходят только на финальные статусы

Оплата кошельком Feennex

Если вы создали платеж для приема оплаты с кошельков Feennex (bill), вы будете получать уведомления о следующих событиях:

  • Платеж перешел в статус Paid
  • Платеж перешел в статус Canceled

Подробнее про статусы платежей

Платеж при оплате сторонними способами оплаты

Если вы создали платеж для приема оплаты с помощью сторонних способов оплаты (invoice), вы будете получать уведомления о следующих событиях:

  • Платеж перешел в статус Paid
  • Платеж перешел в статус Recalculated

Подробнее про статусы платежей

В обоих случаях Feennex отправляет уведомление на URL-адрес для успешной оплаты.

Подключение yведомлений

Вам нужно настроить URL-адреса для отправки уведомлений об успехе и неудаче. Это можно сделать двумя способами:

Обратите внимание! Если вы одновременно задали URL-адреса в личном кабинете и передали в запросе, уведомления будут отправляться на адреса из личного кабинета. Чтобы уведомления приходили на адреса, переданные в запросе, удалите адреса для отправки уведомлений из личного кабинета.

Испoльзование

Когда произошло одно из событий, Feennex присылает уведомление на URL-адрес, который вы передали в запросе или указали в настройках личного кабинета.

Это уведомление содержит объект платежа в актуальном статусе. Например, если платеж изменил статус на success, в уведомлении вернется объект этого платежа в статусе success. Полученное уведомление вам нужно проверить на подлинность.

Пpоверка подлинности уведомлений

Когда получите уведомление, проверьте его подлинность с помощью проверки IP-адреса и подписи.

Шаг 1. Проверка IP-адреса

Проверьте IP-адрес, с которого пришло уведомление. Feennex может присылать уведомления со следующих IP-адресов:

  • 63.177.198.141/32
  • 18.195.222.85/32
  • 3.69.209.74/32

Шаг 2. Проверка подписи

Вам нужно сформировать подпись из параметров, которые пришли в уведомлении.

Подпись формируется как при отправке запросов, но в формировании подписи участвуют все параметры, чьи значения не являются пустой строкой и null.

Пример строки для генерации подписи

5.0:2024-10-30 12:27:48:ru:107120419:card_eur:2024-10-30 12:28:47:978:&#123;"ps_payer_account": "537541XXXXXX7424"&#125;:5.0:978:2104:test_invoice:4.8:successYourSecretKey

После того, как вы сгенерируете подпись, сверьте ее с подписью из уведомления. Если подписи совпадают – уведомление подлинное.

Вы можете менять статус платежа в вашей системе на тот статус, который пришел в уведомлении.

Oтвeт на уведомление

Вам нужно подтвердить, что вы получили уведомление. Для этого ответьте кодом состояния HTTP 200 и телом сообщения ОК.

Если не подтвердить, что уведомление получено, Feennex будет отправлять его в течение суток с увеличивающимися интервалами.

Примeры уведомлений

Важно! Feennex временно отправляет входящие уведомления (callback) в формате raw data вместо JSON.

Уведомления при успехе

Пример уведомления по успешному платежу при оплате банковской картой

{ 
"client_price": 2500,
"created": "2024-01-19 15:38:59",
"description": null,
"payment_id": 132803748,
"payway": "bank_usd",
"processed": "2024-01-19 15:39:17",
"ps_currency": 840,
"ps_data": "{\"paymentPayerCode\": \"410014233707050\", \"ps_payer_account\": \"410014233707050\"}",
"shop_amount": 2500,
"shop_currency": 840,
"shop_id": 112,
"shop_order_id": "2750",
"shop_refund": 2300,
"sign": "490001f775c752c",
"status": "success",
}

Пример уведомления по успешному платежа при оплате с помощью кошелька Feennex

{
"client_price": 2500,
"created": "2024-01-19 15:38:59",
"description": null,
"payment_id": 132803748,
"payway": "feennex_usd",
"processed": "2024-01-19 15:39:17",
"ps_currency": 840,
"ps_data": {"ps_payer_account": "2004233707050"},
"shop_amount": 2500,
"shop_currency": 840,
"shop_id": 112,
"shop_order_id": "2750",
"shop_refund": 2300,
"sign": "490001f775c752c",
"status": "success"
}

Уведомления при неудаче

При получении уведомления по отклоненному платежу добавляется причина отказа в параметре rejected_reason.

Пример уведомления по неуспешному платежу при оплате любыми способами, кроме кошелька

{ 
"client_price": 1500,
"created": "2024-10-23 15:26:36",
"description": null,
"payment_id": 123166089,
"payway": "card_usd",
"processed": "2024-10-23 15:26:41",
"ps_currency": 840,
"ps_data": "{\"ps_payer_account\": \"533669XXXXXX8888\", \"rejected_reason\": \"Na schete karty nedostatochno sredstv dlja vypolnenija operatsii\"}",
"shop_amount": 1500,
"shop_currency": 840,
"shop_id": 112,
"shop_order_id": "37962464",
"shop_refund": 1440,
"sign": "3f00f3b370ffce",
"status": "rejected"
}

Параметры уведомления

ПараметрОписание
client_priceСумма, которую перечислил плательщик. Обязательный
createdДата и время создания платежа. Обязательный
processedДата и время изменения статуса платежа (оплата или отклонение). Обязательный
descriptionОписание платежа. Обязательный
payment_idУникальный идентификатор платежа в Feennex. Обязательный
paywayПлатежное направление в Feennex, через которое плательщик проводит оплату. Обязательный
ps_currencyВалюта платежного направления, через которое плательщик проводит оплату. Обязательный
ps_dataДополнительная информация от платежной системы, например аккаунт плательщика. Обязательный
shop_amountСумма платежа. Обязательный
shop_currencyВалюта платежа. Обязательный
shop_idУникальный идентификатор вашего магазина. Обязательный
shop_order_idИдентификатор заказа на вашей стороне. Обязательный
shop_original_amountСумма платежа. Параметр содержится в уведомлении, если плательщик оплатил не ту сумму. Фактическая сумма платежа содержится в параметре client_price. Подробнее про действия при неверной сумме платежа
shop_refundСумма зачисления на баланс магазина. Обязательный
statusСтатус платежа. Обязательный. Возможные значения:
success – оплачен и зачислен.
rejected – отклонен клиентом или платежной системой.
Recalculated – сумма по оплате счета была пересчитана. Подробнее о статусах
signПодпись. Обязательный
Любой параметрМогут возвращаться любые вспомогательные параметры, которые необходимы для платежа

Начало работы с API

Пoдключение

До начала интеграции вам нужно выполнить несколько шагов:

  1. Создать аккаунт и магазин Feennex

  2. [Подтвердить магазин(#verify-shop)

  3. [Получить секретный ключ и настроить разрешенные IP-адреса(#secure-settings)

  4. [Настроить формирование подписи в вашей системе(#sign)

  5. Проинтегрироваться с Feennex по API

Создание аккаунта и магазина Feennex

Создание аккаунта Feennex

Если у вас нет аккаунта Feennex, зарегистрируйте его и пройдите верификацию. Теперь можно приступать к созданию магазина.

Создание магазина Feennex

Создайте новый магазин. От имени этого магазина вы будете отправлять запросы в Feennex. Укажите название вашего магазина и его URL-адрес. Нажмите Создать магазин.

После создания появится страница подтверждения магазина.

Подтвеpждение магазина

Обратите внимание! Этот шаг можно выполнить позже. Для этого нажмите Пропустить. Подтвердить магазин можно будет в личном кабинете в разделе Магазины.

Чтобы отправить запрос на активацию магазина и подключение методов оплаты, необходимо пройти верификацию домена.

Скачайте специальный файл и разместите его в корне вашего сайта на сервере или хостинге. Файл должен был доступен для загрузки. Пример: http://yourwebsite.com/fnx_0123.txt. Нажмите Подтвердить

Если всё прошло успешно - сайт отправлен на проверку. Для уточнения деталей вы можете обратиться в поддержку.

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

Если проверка прошла, откроется страница настроек созданного магазина. На этой странице вы можете управлять созданным магазином:

  • Изменять параметры и настройки, необходимые для платежей и выплат
  • Просматривать доступные методы приема платежей и выплат
  • Управлять настройками безопасности

Настройка магазина Feennex

На странице настроек созданного магазина заполните поля ввода:

  • URL уведомлений – URL-адрес, на который Feennex присылает [уведомления(#notifications) об успешной оплате

  • URL rejected уведомлений – URL-адрес, на который Feennex присылает [уведомления(#notifications) о отклоненной оплате

  • Success URL – URL-адрес, на который Feennex перенаправит плательщика после успешной оплаты

  • Failed URL – URL-адрес, на который Feennex перенаправит плательщика после неуспешной оплаты

Проставьте отметку напротив пункта Проверять уникальность платежей при создании счета. Если отметка проставлена, номер заказа на вашей стороне (параметр shop_order_id) должен быть уникален для каждого платежа.

Feennex присваивает вашему магазину уникальный идентификатор shop_id. Он понадобится при проведении выплат.

Настройки безопаcности

Раздел Безопасность в личном кабинете содержит настройки вашего секретного ключа и список разрешенных IP-адресов.

Секретный ключ

Секретный ключ вы можете сгенерировать в личном кабинете или указать свой собственный.

Если вы хотите использовать собственный секретный ключ, убедитесь, что он соответствует следующим критериям:

  • имеет длину не менее 8 символов
  • содержит хотя бы одну цифру
  • содержит прописные и заглавные буквы

Никому не передавайте секретный ключ вашего магазина. Этим ключом вы подтверждаете, что операции проводятся от вашего имени.

Разрешенные IP-адреса

В разделе IP адреса вам нужно в поле ввода указать IP-адрес, с которого вы будете отправлять запросы в Feennex. После этого нажмите на кнопку + (плюс).

Если IP-адресов несколько, вы можете добавить их за один раз. В качестве разделителя используйте ; (точка с запятой).

Фopмирование подписи

Для каждого запроса вам нужно формировать подпись с помощью вашего секретного ключа и передавать ее в параметре sign.

Секретный ключ отвечает за безопасность ваших данных. Храните его в защищенном месте и не публикуйте на сторонних ресурсах. Секретный ключ вы можете получить в личном кабинете в настройках магазина.

Как сформировать подпись

Шаг 1. Отсортируйте все обязательные параметры по алфавиту, приведите их к строковому типу данных и объедините в одну строку. В качестве разделителя используйте ":" (двоеточие). В конец строки добавьте ваш секретный ключ (без знака ":").

Обратите внимание! Есть особенности при передаче некоторых параметров:

  • Обязательный параметр email включать в строку не нужно.

  • При формировании подписи в параметре amount передавайте один знак после точки, если сумма целая или дробная часть кратна 10, например, 12.0. В остальных случаях передавайте два знака после точки, например, 12.01

Пример объединения параметров в одну строку для запроса на создание платежа

&#123;amount&#125;:&#123;currency&#125;:&#123;payway&#125;:&#123;shop_id&#125;:&#123;shop_order_id&#125;&#123;secret_key&#125;

Вместо фигурных скобок вставьте значения передаваемых параметров. Число параметров в вашем запросе может отличаться.

Пример полученной строки

12.34:840:bank_usd:5:4126SecretKey01

Шаг 2. Рассчитайте SHA256 хэш полученной строки.

Пример HEX-представления подписи

c438896efecd63

Для онлайн проверки вы можете использовать онлайн сервис.

Пример формирования подписи на языке Python

# Обязательные параметры запроса для формирования подписи

secret = 'SecretKey01'
data_required = {
'amount': '12.34',
'currency': '840',
'payway': 'card_usd',
'shop_id': '5',
'shop_order_id': '4126',
}

# Дополнительные параметры запроса. В формировании подписи не участвуют

data_add = {
'email': '[email protected]',
}

key = ':'.join([data_required[key] for key in sorted(data_required)]) + secret
sign = hashlib.sha256(key.encode()).hexdigest()

Шаг 3. Передавайте полученное значение в запросе в параметре sign.

Пример формирования подписи для запроса Создание платежа

{
"currency": "840",
"sign": "c438896efecd63",
"payway": "bank_usd",
"amount": "12.34",
"shop_id": "5",
"shop_order_id": 4126,
"description": "Оплата заказа"
}

Интеграция с Feennex по API

После того, как вы выполните предыдущие шаги, вы можете переходить к интеграции. Она зависит от сценария интеграции, который вы хотите использовать.

Выбор сценаpия интегрaции

Вы можете интегрироваться с помощью одного из трех сценариев:

  • [Платежная страница Feennex(#payment-page-scenario). Вам нужно сформировать HTML-форму и разместить ее в вашем магазине.

  • [Создание платежа (редиректный сценарий)(#redirect-scenario). Вам нужно отправить запрос на создание платежа и перенаправить плательщика на страницу оплаты.

  • Самостоятельная интеграция (Host-to-Host). Вам нужно самостоятельно реализовать платежную страницу, страницы успешного и неуспешного платежа. Плательщик будет проводить оплату только в вашем интерфейсе.

Выберите подходящий сценарий и сообщите о своем решении менеджеру.

Сценаpий Платежная страница Feennex

Оснoвы

Платежная форма содержит набор полей с информацией о заказе и оплате. Вы размещаете форму в интерфейсе магазина, на странице, которую видит пользователь после оформления заказа.

Когда пользователь нажимает на кнопку подтверждения, информация о платеже отправляется в Feennex.

Отправка формы инициирует на стороне Feennex создание платежа. Плательщик перенаправляется на платежную страницу Feennex.

На платежной странице плательщик может выбрать способ оплаты, при необходимости оставить данные о себе и провести оплату.

Ocобенности

Если валюта выставленного счета не совпадает с валютой платежного направления, то платежная страница автоматически сконвертирует сумму. В этом случае ваш магазин получит платеж в валюте счета, а плательщик проведет оплату в желаемой валюте.

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

Формирование HTML-формы

Для перенаправления плательщика на платежную страницу Feennex вам необходимо сформировать HTML-форму.

Пример HTML-формы

form name="Pay" method="post" action=" https://pay.feennex.com/en/pay" accept-charset="UTF-8
input type="hidden" name="amount" value="10.00"
input type="hidden" name="currency" value="840"
input type="hidden" name="shop_id" value="1"
input type="hidden" name="sign" value="2a966c9942652"
input type="hidden" name="shop_order_id" value="101"
input type="submit"
input type="hidden" name="description" value="Оплата по заказу №123"
/form

Параметры платежной формы

URL-адрес для отправки формы

Отправляйте форму на https://pay.feennex.com/en/pay. Обратите внимание, что платежная страница поддерживает несколько языков.

Параметры формы
ПараметрФорматОписание
Обязательные параметры
shop_idIntegerИдентификатор вашего магазина в системе Feennex. Пример: 5
amountNumberСумма платежа. Не более двух знаков после точки Пример: 1.00
currencyNumberВалюта платежа. Пример: 840 Возможные значения валют
descriptionStringОписание платежа. Пример: Оплата по заказу №123
shop_order_idStringНомер заказа на вашей стороне. Пример: h8fj38. В зависимости от настроек магазина, Feennex может проверять уникальность номера заказа. Не более 255 символов
signStringПодпись запроса. В формировании подписи участвуют только обязательные параметры
Необязательные параметры
paywayStringПлатежное направление, через которое проходит оплата. Пример: card_usd
payer_accountStringEmail или номер кошелька аккаунта плательщика в Feennex. Пример: [email protected]" или "201494711279. Если вы передали этот параметр, то счет может оплатить только данный аккаунт. Только для оплаты с кошелька Feennex.
failed_urlStringURL-адрес, на который Feennex перенаправит плательщика после неудачной оплаты счета. Пример: https://feennex.com/failed
success_urlStringURL-адрес, на который Feennex перенаправит плательщика после успешной оплаты счета. Пример: https://feennex.com/success

Сценарий Cоздание платежа (редиректный)

В этом сценарии выбор способа оплаты проходит на вашей стороне, а ввод данных для оплаты – на стороне Feennex. Принимать платежи можно через кошелек Feennex или с других способов оплаты.

Вам необходимо самостоятельно реализовать выбор способа оплаты и сообщение пользователю результатов проведения платежа.

Методы API, которые нужно использовать, отличаются в зависимости от способа оплаты.

Пример реализации

  1. Плательщик на вашей стороне переходит к оплате (например, нажимает на кнопку).
  2. Вы создаете платеж, в ответе получаете URL-адрес платежной страницы и перенаправляете на нее плательщика.
  3. Плательщик на платежной странице вводит данные банковской карты и кошелька или видит данные для перевода.
  4. Плательщик проводит оплату.
  5. Feennex возвращает плательщика на страницу завершения оплаты на вашей стороне.

Диаграмма проведения платежа при оплате кошельком Feennex

Диаграмма проведения платежа при оплате картой

Важно! Убедитесь, что перед началом интеграции вы выполнили все подготовительные шаги

Для интеграции по API нужно создать платеж, получить ссылку на платежную страницу и перенаправить на нее плательщика.

Оплата кошельком Feennex

Обратите внимание! Для этого способа оплаты вам нужно использовать методы для приема платежей с помощью кошелька Feennex. В URL-адресе такие методы имеют префикс bill.

Шаг 1. Создайте платеж. В запросе передайте сумму, валюту, платежное направление, идентификатор вашего магазина и идентификатор заказа. В параметре sign передайте [подпись запроса(#sign).

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

curl https://core.feennex.com/bill/create \
-H 'Content-Type: application/json' \
-d '{
"shop_currency": 840,
"sign": "66c8d27b887",
"payway": "feennex_usd",
"payer_currency": 840,
"shop_amount": 1000,
"shop_id": 5,
"shop_order_id": 4127
}'

В запросе вы можете дополнительно передавать URL-адреса ваших страниц успеха и неудачи для редиректа пользователя после оплаты, а также URL-адрес, на который Feennex будет [присылать уведомление(#notifications).

Перед передачей URL-адресов убедитесь, что в личном кабинете вы удалили старые адреса, которые указывали при создании магазина – у этих адресов выше приоритет. [Подробнее про настройку магазина(#connection-flow)

Шаг 2. Перенаправьте пользователя на url, который вернется в ответе в объекте data. Это ссылка на платежную страницу Feennex, на которой пользователь введет данные кошелька Feennex и подтвердит платеж.

Пример ответа

{
"data":{
"created": "Tue, 20 Feb 2024 13:58:35 GMT",
"id": 123,
"lifetime": 43200,
"payer_account": null,
"payer_currency": 840,
"payer_price": 1000.0,
"shop_amount": 1000.0,
"shop_currency": 840,
"shop_id": 5,
"shop_order_id": "4127",
"shop_refund": 930.0,
"url": "https://example.com"
},
"error_code":0,
"message":"Ok",
"result":true
}

Если оплата прошла, Feennex выполняет следующие действия:

Если что-то пошло не так, Feennex выполняет следующие действия:

Дополнительно вы можете узнать статус платежа при оплате кошельком.

Оплата другими способами

Обратите внимание! При оплате любыми способами, кроме кошелька Feennex, вам нужно использовать метод Создание платежа. В URL-адресе, на который нужно отправить запрос, есть префикс invoice.

Шаг 1. Создайте платеж. В запросе передайте сумму, валюту, платежное направление, идентификатор вашего магазина и идентификатор заказа. В параметре sign передайте [подпись запроса(#sign).

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

curl https://core.feennex.com/invoice/create \
-H 'Content-Type: application/json' \
-d '{
"currency": 840,
"sign": "c438896efecd63",
"payway": "card_usd",
"email": "[email protected]",
"amount": 1000,
"shop_id": 5,
"shop_order_id": 4126
}'

В запросе вы можете дополнительно передавать URL-адреса ваших страниц успеха и неудачи для редиректа пользователя после оплаты, а также URL-адрес, на который Feennex будет [присылать уведомление(#notifications).

Перед передачей URL-адресов убедитесь, что в личном кабинете вы удалили старые адреса, которые указывали при создании магазина – у этих адресов выше приоритет. Подробнее про настройку магазина

Шаг 2. Перенаправьте пользователя на url, который вернется в ответе в объекте data. Это ссылка на стороннюю платежную систему, на которой пользователь введет платежные данные и подтвердит платеж.

Пример ответа

{
"data":{
"data":{
"language":"en",
"mdOrder":"0304a352-12c0-45bf-9ee8-694a2a381bcb"
},
"id":497063651,
"method":"GET",
"url":"https://payment-link-example.ru"
},
"error_code":0,
"message":"Ok",
"result":true
}

Если оплата прошла, Feennex выполняет следующие действия:

Если что-то пошло не так, Feennex выполняет следующие действия:

Дополнительно вы можете узнать статус платежа при оплате другими способами.

Сценарий Самостоятельная интеграция Host-to-Host

В этом сценарии выбор способа оплаты и ввод данных для оплаты проходит на вашей стороне.

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

Вам необходимо самостоятельно реализовать следующие шаги процесса оплаты:

  • выбор способа оплаты;
  • получение от пользователя данных для оплаты выбранным способом;
  • сообщение пользователю результатов проведения платежа.

Процесс интеграции отличается в зависимости от способа оплаты.

Oплата банковской картой

Обратите внимание! Платежи картой доступны, если для вашего магазина подключен этот способ оплаты и есть сертификат на соответствие требованиям PCI DSS. Если сертификата нет, выберите другой сценарий интеграции.

Для интеграции по API нужно выполнить 4 шага:

  1. Создать платеж и получить идентификатор сессии

  2. Получить токен и URL-адрес

  3. Сформировать HTML-форму

  4. Перенаправить плательщика на HTML-форму

Шаг 1. Создание платежа

Для создания платежа используйте метод [Создание платежа](#post), но в параметре payway передавайте значение для сценария Host-to-Host. Это значение вы можете получить у менеджера или посмотреть в настройках магазина в личном кабинете. Обычно оно имеет префикс h2h. Пример: bank_h2h_usd.

Пример запроса на создание платежа
curl https://core.feennex.com/invoice/create \
-H 'Content-Type: application/json' \
-d '{
"currency": "840",
"sign": "912b985f1895962",
"payway": "bank_h2h_usd",
"amount": "1000",
"shop_id": 112,
"shop_order_id": 4128
}

В ответе в параметре session_id вернется идентификатор сессии. Сохраните этот идентификатор – он потребуется на следующих шагах.

Пример ответа


{
"data": {
"data": {
"session_id": "3067894a580242dd86e03890506a88ba"
},
"id": 499564464,
"method": "GET",
"url": "https://example.com"
},
"error_code": 0,
"message": "Ok",
"result": true
}

Шаг 2. Получение токена и URL-адреса

Для получения токена используйте метод Данные для HTML-формы. В теле запроса передайте идентификатор сессии, который вы получили на предыдущем шаге в параметре session_id.

Пример запроса на получение токена

curl https://example.com/h2h_data \
-H 'Content-Type: application/json' \
-d '{
"session_id": "3067894a580242dd86e03890506a88ba"
}

В ответе вернутся параметры form_token и payform_url. Сохраните их – они потребуется на следующем шаге.

Пример ответа
{
"data":{
"form_token":"uerhdw47d748yd784dy83uhueh834h84dh84hd8dh8",
"payform_url":"https://example.com/payform/"
},
"error_code":0,
"message":"success",
"result":true
}

Шаг 3. Формирование платежной формы

Вам нужно собрать данные банковской карты плательщика и отправить запрос на создание HTML-формы.

Сбор данных банковской карты плательщика

Обратите внимание! У вас должен быть сертификат на соответствие требованиям PCI DSS

На вашей стороне вам нужно реализовать страницу ввода данных банковской карты плательщика. На этой странице нужно собрать следующие данные:

  • год и месяц окончания срока действия карты
  • трехзначный код CVV или CVC
  • номер карты
  • имя и фамилия держателя карты.
Отправка запроса на создание HTML-формы

Вам нужно отправить POST-запрос на создание HTML-формы. Запрос нужно отправить на payform_url, который вы получили на предыдущем шаге. В теле запроса нужно передать данные банковской карты плательщика, form_token и идентификатор сессии session_id.

Пример запроса на создание платежной формы

curl https://example.com/payform/ \
-H 'Content-Type: application/json' \
-d '{
"expiry_year": "26",
"cvv": "123",
"expiry_month": "12",
"card_number": "4111111111111111",
"card_holder": "Svyatoslav Myronovych Polishchuk",
"form_token": "uerhdw47d748yd784dy83uhueh834h84dh84hd8dh8",
"session_id": ""
}

В ответе вернется HTML-форма.

Шаг 4. Перенаправление плательщика на HTML-форму

Перенаправьте плательщика на HTML-форму, которую вы получили в ответе на прошлом шаге. Плательщик автоматически перейдет на страницу ввода кода 3D-secure. Если оплата прошла, Feennex перенаправит плательщика на Success URL. Если оплата не прошла или код неверный – на Failed URL.

Оплата переводом на банковский счет

Плательщики смогут перечислить оплату на банковский счет одним из следующих способов:

  • Номер карты — плательщик видит номер карты, на которую нужно отправить перевод.

Для интеграции по API нужно выполнить три шага:

  • Создать платеж

  • Получить данные для перевода

  • Запросить статус платежа

Взаимодействие проходит асинхронно: после успешного создания платежа вы можете сразу попробовать получить данные для перевода.

Шаг 1. Создание платежа

Для создания платежа используйте метод [Создание платежа](#post), но в параметре payway передавайте значение для сценария Host-to-Host. Это значение вы можете получить у менеджера или посмотреть в настройках магазина в [личном кабинете](https://wallet.feennex.com/shops). Обычно оно имеет префикс h2h. Пример: bank_h2h_usd.

Пример запроса на создание платежа
curl https://core.feennex.com/invoice/create \
-H 'Content-Type: application/json' \
-d '{
"currency": 840,
"sign": "912b985f1895962",
"payway": "bank_h2h_usd",
"amount": 1000,
"shop_id": 112,
"shop_order_id": 4128
}'
Пример ответа
{
"data":{
"data":{},
"id":123456789,
"method":"bank",
"url":"h2h"
},
"error_code":0,
"message":"Ok",
"result":true
}

Шаг 2. Получение данных для перевода

После создания платежа вам нужно получить данные для перевода. Эти данные вы должны самостоятельно показывать плательщику на вашей платежной странице.

Для получения данных для перевода используйте Запрос статуса платежа при оплате через другие способы оплаты.

Обратите внимание! Если данных для перевода нет, повторите запрос позже – данные для перевода присваиваются платежу не сразу.

Пример запроса на получение данных для перевода

curl https://core.feennex.com/invoice/check \
-H 'Content-Type: application/json' \
-d '{
"now": "2024-02-05 18:37:02",
"sign": "32b2c32caa8ad",
"shop_id": 112,
"shop_order_id": 4128
}'

Feennex возвращает стандартный ответ. В объекте ps_data содержатся данные для перевода.

ПараметрТипОписание
amountnumberСумма, которую должен перевести плательщик
bankstringНаименование банка получателя. Значение возвращается, если параметр method имеет значение sbp. В остальных случаях возвращается пустое значение
cardstringНомер банковской карты получателя. Значение возвращается, если параметр method имеет значение bank. В остальных случаях возвращается пустое значение
card_holder_namestringФИО получателя
currencystringВалюта перевода
expiredstringВремя, до которого плательщик должен отправить перевод. Рекомендуется предупреждать об этом плательщика
methodstringКод способа оплаты. Возможные значения вам сообщит менеджер.
phonestringномер телефона плательщика. Значение возвращается, если параметр method имеет значение sbp. В остальных случаях возвращается пустое значение
urlstring

Шаг 3. Запрос статуса платежа

После отображения данных для перевода вы можете проверять статус платежа: периодически отправлять запрос или дожидаться успешного callback.

Если отправляете запрос, используйте [Запрос статуса платежа при оплате через сторонние платежные системы](#invoicecheck).

В сценарии Host-to-Host cтатусы работают так же, как и при создании счета на оплату. Если в ответе в параметре status возвращается значение 4 — плательщик успешно провел оплату, деньги поступили на ваш кошелек. [Подробнее про статусы счета](#3)

Пример успешного ответа

{
"data":{
"client_price": 1000,
"created": "2024-02-05 18:37:02",
"description": "Deposit",
"is_unique": true,
"payment_id": 123456789,
"payway": "bank_h2h_usd",
"processed": null,
"ps_currency": 840,
"ps_data": {
"amount": 1000,
"bank": "Ощадбанк",
"card": "",
"card_holder_name": "Поліщук Святослав Миронович",
"currency": "usd",
"expired": 1707152043.557505,
"method": "bank",
"phone": "380000000000",
"url": ""
},
"shop_amount": 1000,
"shop_currency": 840,
"shop_id": 50,
"shop_order_id": "4128",
"shop_refund": 900,
"status": 4,
"updated": "2024-02-05 18:37:18"
},
"error_code": 0,
"message": "Ok",
"result": true
}

Пoслe оплаты

Вoзвраты

Возвраты в Feennex зависят от способа оплаты. Подробную информацию вам предоставит менеджер.

Неверная сумма оплаты

Обратите внимание. Плательщик может перечислить неверную сумму только при переводе на банковский счет.

Если плательщик перевел неверную сумму, статус платежа меняется на recalculated – финальный и неизменяемый статус. Feennex отправляет вам [уведомление(#notifications) о смене статуса платежа на recalculated.

В полученном уведомлении и при запросе статуса платежа фактическая сумма, которую перевел плательщик, возвращается в параметре client_price. Первоначальная сумма платежа – в параметре shop_original_amount.

Ваши действия отличаются в зависимости от того, достаточно плательщик перевел денег для оплаты или нет.

Недостаточная оплата

Вы можете создать новый ордер на недостающую сумму. Если эта сумма не проходит по минимальному лимиту, вам нужно принять оплату от плательщика другим способом.

Переплата

Вам нужно самостоятельно договориться с плательщиком, как вы компенсируете ему сумму переплаты.

Плательщик оплатил переводом на банковский счет, а статус не меняется

Обратите внимание. Только для способа оплаты Перевод на банковский счет.

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

Вы можете самостоятельно реализовать страницу загрузки чека и отправлять в Feennex по API чек, который загрузил плательщик, либо воспользоваться готовой формой для отправки чека.

Шаг 1. Реализация страницы загрузки чека

Обратите внимание! Если вы не хотите реализовывать свою страницу загрузки чека, переходите к шагу 2.

На странице загрузки чека рекомендуется предупреждать плательщика, что размер изображения не должен превышать 10 МБ, а на чеке должно быть видно следующую информацию:

  • Время перевода
  • Отправитель и получатель перевода
  • Сумма перевода

Пример страницы для загрузки чеков

Обратите внимание! Для каждого платежа плательщик может прислать только один чек. Поддерживаемые форматы: JPEG, JPG, PNG, PDF, WebP, HEIF.

Шаг 2. Запрос статуса платежа

Для работы с чеками вам нужно получить значение параметра id – оно уникальное для каждого платежа. Чтобы получить значение этого параметра, запросите статус платежа. В ответе в объекте ps_data возвращаются следующие параметры:

  • receipt_url – URL-адрес для загрузки чека по API
  • receipt_status_url – URL-адрес для проверки статуса чека по API
  • receipt_web – URL-адрес для загрузки чека через форму. На этот адрес вам нужно перенаправить плательщика, если вы не хотите реализовывать форму загрузки чека.

Пример параметра receipt_url

"receipt_url": "https://<baseURL>/api/v1/order/ade32e06-6fa4-425a-9c4c-e026ac6d93e6/receipt"

В этом параметре https://<baseURL>/api/v1/order/ – URL-адрес для отправки запросов на загрузку чека. Строка ade32e06-6fa4-425a-9c4c-e026ac6d93e6 – значение параметра id.

Шаг 3. Отправка чека в Feennex

Только для тех, кто реализовал страницу загрузки чека (шаг 1).

С помощью метода Отправка чеков отправляйте в Feennex чек, который загрузил плательщик. Формировать подпись для этого метода не нужно.

Адрес для отправки запроса и значение параметра id вы получили на шаге 2 в параметре receipt_url.

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

curl -X POST \ 
--location 'https://<baseURL>/api/v1/order/ade32e06-6fa4-425a-9c4c-e026ac6d93e6/receipt' \
--form 'file=@"/home/cwm/Pictures/receipt.jpg"'

Если чек успешно отправлен, возвращается ответ с HTTP-кодом 200.

Пример успешного ответа

null

После отправки запроса техническая поддержка Feennex обработает перевод.

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

Шаг 4. Отображение информации о статусе чека

Обратите внимание! Этот этап можно пропустить.

Вы можете запрашивать актуальную информацию о статусе проверки чека и отображать ее на вашей платежной странице. Для этого используйте метод Получение статуса чека. Формировать подпись для этого метода не нужно.

Для получения статуса чека вам нужен адрес для отправки запроса и значение параметра id. Эти значения вы получили на шаге 2 в параметре receipt_ status_url.

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

curl -X GET \ 
--location 'https://<baseURL>/api/v1/order/ade32e06-6fa4-425a-9c4c-e026ac6d93e6/receipt/status' \

В ответе возвращается идентификатор чека, статус чека и комментарий от технической поддержки Feennex.

Пример успешного ответа

[
{
"id": "c9e35f42-62de-45c4-8092-152ba47d81e5",
"status": "pending",
"comment": null
}
]

Когда статус меняется на succeed, это значит, что чек принят. После этого убедитесь, что перевод прошел – периодически отправляйте запросы на получение информации о платеже.

Неyспешная оплата

В процессе оплаты что-то может пойти не так. Например, не получается создать платеж или банк недоступен. Чтобы вы могли лучше понимать, что произошло с платежом, Feennex возвращает объект платежа с параметром status.

По статусу вы можете определить состояние платежа и использовать эти данные для анализа и решения проблем, вывода сообщений плательщику и любых других целей.

Подробнее про статусы при неуспешных переводах

Pеестры

Feennex формирует реестры успешных операций, с помощью которых вы можете сверять расчеты. В реестры входят следующие операции:

  • Принятые платежи
  • Проведенные выплаты
  • Служебные операции

Feennex собирает сведения о всех операциях за сутки – с 00:00:00 до 23:59:59 по UTC+3. Вы можете запросить формирование отчета за один день, неделю или месяц.

В личном кабинете в разделе История вы можете самостоятельно генерировать реестры для необходимых магазинов.

Если вы хотите периодически получать реестры на электронную почту, подпишитесь на их получение.

Подписка на рассылку реестров

Чтобы Feennex присылал уведомления на электронную почту, сообщите менеджеру следующую информацию:

  • Электронная почта получателей
  • Названия магазинов, для которых нужно рассылать реестры
  • Период, за который нужно формировать реестр – день, неделя или месяц.

Формат файла с реестром – XSL. Если за указанную дату операций не было, придет пустой реестр.

Поля в реестре

Поле в реестреОписание
ДатаДата совершения операции
ID операцииУникальный идентификатор платежа, выплаты или системной операции
ID магазинаИдентификатор вашего магазина в Feennex
Зачислено на магазинФактическая сумма, зачисленная в ваш магазин с учетом комиссий. Только для платежей.
Списано с магазинаФактическая сумма, которая списана с вашего магазина при выплате или служебной операции. Включает в себя комиссию Feennex
ВалютаВалюта платежа — значение параметра currency из запроса на создание платежа при оплате кошельком или shop_currency из запроса на создание платежа при оплате другими способами.

Возможные значения валют
Тип операцииТип выполняемой операции. Возможные значения: Платежи, Выплаты, Служебная
Сумма счетаСумма платежа — значение параметра amount из запроса на создание платежа при оплате кошельком или shop_amount из запроса на создание платежа при оплате другими способами
Валюта счетаВалюта платежного направления. Возможные значения валют
Сумма полученияСумма платежа или выплаты с учетом комиссии. Только для выплат. Возможные значения валют
Валюта полученияВалюта направления на выплату. Только для выплат. Возможные значения валют
Номер заказаНомер заказа на вашей стороне
ОписаниеОписание операции — значение параметра description из запроса на создание платежа при оплате кошельком и другими способами
БалансТекущий баланс вашего магазина после совершения операции
Project IDСлужебный параметр. Не используется
КомиссияСумма комиссии платежа или выплаты

Пример реестра

"Дата" "ID операции" "ID магазина" "Зачислено на магазин" "Списано с магазина" "Валюта" "Тип операции" "Сумма счета" "Валюта счета" "Сумма получения" "Валюта получения" "Номер заказа" "Описание" "Баланс" "Project ID" "Комиссия"
2024-04-19 17:07:43 50000000 1234 282,94 840 Платежи 301 840 i171e2d956-d3b4-457d-a26a-52d960 i171e2d956-d3b4-457d-a26a-52d960 9393,74 18,06

О выплатаx

Выплата — это операция по перечислению денег с баланса вашего магазина на кошельки Feennex или в сторонние платежные системы.

Например, вы получили оплату от плательщика на счет вашего магазина и хотите вывести эти деньги на банковскую карту.

Как проходят выплaты

Если вы уже принимали платежи с помощью Feennex, у вас уже есть магазин или несколько магазинов. У каждого магазина есть баланс – деньги, которые вам перечислил плательщик.

Перед выплатой:

  • Проверьте состояние счета вашего магазина в личном кабинете
  • Получите от вашего клиента данные для проведения выплаты, например номер кошелька Feennex или банковской карты, на которую нужно перевести деньги.
  • Проверьте, что укладываетесь в лимиты по выплатам, в зависимости способа получения денег, который выбрал клиент. Актуальные лимиты вам сообщит менеджер.

Размер комиссии при выплатах вы можете уточнить у менеджера.

Способы получeния выплaт

С помощью API Feennex вы можете делать выплаты на кошельки Feennex и сторонние платежные системы. Доступные платежные системы для вашего магазина вы можете узнать в личном кабинете в настройках магазина в разделе Направления вывода. Для подключения дополнительных платежных систем свяжитесь с менеджером.

Выплаты на кошельки Feennex

Сценарий проведения выплаты на кошельки Feennex

  • Шаг 1. Не обязательный шаг. Вы запрашиваете предварительный расчет выплаты – отправляете Feennex POST-запрос с данными о том, какую сумму списать с баланса вашего магазина и на какой кошелек ее перевести.
  • Шаг 2. Вы создаете выплату — отправляете Feennex POST-запрос с данными о том, какую сумму списать с баланса вашего магазина и на какой кошелек ее перевести.

Feennex проводит выплату на переданный кошелек и возвращает вам идентификатор выплаты. Это значит, что выплата успешна.

Проведение выплаты через API

Шаг 1. Запросите предварительный расчет выплаты. В запросе передайте сумму выплаты, тип передаваемой суммы выплаты, валюту получения выплаты, валюту списания с магазина, идентификатор вашего магазина. В параметре sign передайте [подпись запроса(#sign).

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

curl https://core.feennex.com/transfer/try \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"amount_type": "receive_amount",
"payee_currency": 840,
"shop_currency": 840,
"shop_id": 112,
"sign": "cd30ba2b6e29f5"
}'

Пример ответа

{
"data": {
"account_info_config": {
"payee_account": {
"comment": {
"en": "Enter Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"example": "201557414711",
"label": {
"en": "Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"regex": "^20[\\d]{10}$|^([a-zA-Z0-9_-]+\\.)*[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*\\.[a-zA-Z]{2,6}$"
}
},
"info": {},
"payee_amount": 1.11,
"payee_currency": 978,
"shop_currency": 840,
"write_off_amount": 1.19
},
"error_code": 0,
"message": "Ok",
"result": true
}

Шаг 2. Создайте выплату на кошелек. В запросе передайте сумму выплаты, тип передаваемой суммы выплаты, аккаунт получателя выплаты в Feennex, валюту получения выплаты, валюту списания с магазина, идентификатор вашего магазина и уникальный идентификатор выплаты на вашей стороне. В параметре sign передайте [подпись запроса(#sign).

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

curl https://core.feennex.com/transfer/create \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 840,
"shop_currency": 840,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f5"
}'

Пример ответа

{
"data": {
"balance": 88.91,
"id": 12,
"payee_account": 201497141132,
"payee_amount": 10,
"payee_currency": 840,
"shop": 112,
"shop_currency": 840,
"write_off_amount": 10
},
"error_code": 0,
"message": "Ok",
"result": true
}

Выплата успешно прошла!

Если в ответе вернулась ошибка, вы можете запросить статус выплаты на кошелек.

Bыплаты на сторонние платежные системы

  • Шаг 1. Вы запрашиваете предварительный расчет выплаты – отправляете Feennex POST-запрос с данными о том, какую сумму списать с баланса вашего магазина и на какую платежную систему ее перевести. В параметре account_info_config могут вернуться дополнительные параметры, которые надо передавать в последующих запросах
  • Шаг 2. Вы проверяете возможность провести выплату в выбранную платежную систему со стороны Feennex – отправляете Feennex POST-запрос
  • Шаг 3. Вы создаете выплату — отправляете Feennex POST-запрос с данными о том, какую сумму списать с баланса вашего магазина и на какую платежную систему ее перевести. Feennex проводит выплату в выбранную платежную систему и возвращает вам объект выплаты с актуальным статусом.
  • Шаг 4. Вы, не чаще, чем раз в минуту, запрашиваете статус выплаты. Если статус — 5 (Success), выплата успешна, а деньги списаны с баланса вашего магазина.

Прoведение выплаты через API

Шаг 1. Запросите предварительный расчет выплаты. В запросе передайте сумму и валюту выплаты, тип передаваемой суммы выплаты, направление для выплаты, идентификатор вашего магазина. В параметре sign передайте [подпись запроса(#sign).

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

curl https://core.feennex.com/withdraw/try \
-H 'Content-Type: application/json' \
-d '{

"amount_type": "ps_amount",
"shop_currency": 840,
"sign": "f97c52fa8d273a",
"payway": "card_usd",
"amount": 1,
"shop_id": 112
}'

Пример ответа

{ 
"data":
{
"account_info_config"
{
"account":
{
"regex": "\\d{9,15}$",
"title": "79123456789"
}
}
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_write_off": 1.02
},
"error_code": 0,
"message": "Ok",
"result": true
}

Если в ответе возвращается объект account_info_config с дополнительными параметрами, эти параметры, кроме account, вам нужно передавать в запросе на Создание выплаты в параметре account_details.

Шаг 2. Проверьте возможность провести выплату. В запросе передайте аккаунт получателя выплаты для проверки, направление для выплаты, сумму выплаты, идентификатор магазина на вашей стороне и дополнительную информацию об аккаунте, если есть. В параметре sign передайте [подпись запроса(#sign).

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

curl https://core.feennex.com/check_account \
-H 'Content-Type: application/json' \
-d '{
"account": "4111111111111111",
"account_details": {
"contract": "C1234"
},
"sign": "faf7ee6db712752f2b107e05328bbd0d",
"payway": "card_eur",
"amount": 10.5,
"shop_id": 1
}'

Пример ответа

{
"data": {
"account_info": {
"verified": "true"
},
"provider_status": 1,
"result": true
},
"error_code": 0,
"message": "Ok",
"result": true
}

Шаг 3. Создайте выплату на счет. В запросе передайте аккаунт получателя выплаты, сумму выплаты, тип передаваемой суммы, направление на выплату, валюту списания с магазина, идентификатор вашего магазина и уникальный идентификатор выплаты на вашей стороне. В параметре sign передайте [подпись запроса(#sign).

Пример запроса на создание выплаты

curl https://core.feennex.com/withdraw/create \
-H 'Content-Type: application/json' \
-d '{
"account": "4111111111111111",
"amount": 1,
"amount_type": "ps_amount",
"payway": "card_usd",
"shop_currency": 840,
"shop_id": 112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"sign": "b4c3ca4b403bb"
}'

Пример ответа

{
"data": {
"balance": 0,
"id": 11298076,
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 3
},
"error_code": 0,
"message": "Ok",
"result": true
}

Шаг 4. Запрашивайте статус выплаты по идентификатору выплату или номеру выплаты в вашей системе. В запросе передайте время отправки запроса, идентификатор вашего магазина и идентификатор выплаты. В параметре sign передайте подпись запроса.

Пример запроса на получение статуса выплаты по идентификатору выплаты

curl https://core.feennex.com/withdraw/status \
-H 'Content-Type: application/json' \
-d '{
"now": "2024-12-06 16:07:28.878200",
"shop_id": 112,
"withdraw_id": 11298076,
"sign": "e1dfc97b2c5430"
}'

Пример объекта выплаты при успехе


{
"data": {
"id": 11298076,
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 5
},
"result": True,
"error_code": 0,
"message": "Ok"
}

Параметр status имеет значение 5, что соответствует успеху. Подробнее о статусах при выплатах на счет

Выплата успешно прошла!

Group Прием платежей: кошелек Feennex

Перед интеграцией ознакомьтесь с разделом Началo работы с API

Создание платежа с оплатой кошельком bill/create [/bill/create]

С помощью данного метода вы можете создать платеж для приема оплаты с кошельков Feennex.

Если вы хотите принять оплату другими способами, создайте платеж с помощью метода Создание платежа

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: payer_currency, shop_amount, shop_currency, shop_id и shop_order_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/bill/create \
-H 'Content-Type: application/json' \
-d '{
"description": "Оплата заказа",
"payer_currency": 840,
"shop_amount": "23.15",
"shop_currency": 840,
"shop_id": "3",
"shop_order_id": 4239,
"sign": "ad7fbe8df102b"
}'

Пример ответа при ошибке

{
"data": null,
"message": "invalid sign",
"error_code": 1,
"result": false
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Создать платеж для оплаты кошельком [POST]

  • Request (application/json)

    • Attributes

      • payer_currency: 840 (number, required) - Валюта, в которой проводит оплату плательщик. Эта валюта может отличаться от валюты магазина. Возможные значения валют
      • shop_amount: 23.15 (string, required) - Сумма платежа
      • shop_currency: 840 (number, required) - Валюта, в которой оплата зачисляется в ваш магазин. Возможные значения валют
      • shop_id: 3 (number, required) - Идентификатор вашего магазина в Feennex
      • shop_order_id: 123456789 (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
      • description: Оплата заказа (string, optional) - Описание платежа. Не более 255 символов
      • payer_account: 1a2b3c (string, optional) - Аккаунт Feennex плательщика, который проводит оплату
      • lifetime: 43200 (number, optional) Время жизни платежа в минутах. Когда платеж будет просрочен, его статус поменяется на Expired. Если параметр не передавать, время жизни составит 43200 минут
      • failed_url: https://feennex.com/failed (string, optional) - URL-адрес, на который перенаправляется плательщик после неуспешной оплаты. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
      • success_url: https://feennex.com/success (string, optional) - URL-адрес, на который перенаправляется плательщик после успешной оплаты. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
      • callback_url (string, optional) - URL-адрес, на который отправляется уведомление об успешной оплате. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
      • callback_rejected_url (string, optional) - URL-адрес, на который отправляется уведомление о неуспешной оплате. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
    • Body

            { 
    "description": "Оплата заказа",
    "payer_currency": 840,
    "shop_amount": "23.15",
    "shop_currency": 840,
    "shop_id": "3",
    "shop_order_id": 4239,
    "sign": "ad7fbe8df102b"
    }
  • Response 200 (application/json)

    • Headers

    • Body

            {
    "data": {
    "created": "Wed, 10 Apr 2024 14:18:19 GMT",
    "id": 26,
    "lifetime": 43200,
    "payer_account": null,
    "payer_currency": 840,
    "payer_price": 500,
    "shop_amount": 500,
    "shop_currency": 840,
    "shop_id": 3,
    "shop_order_id": "4239",
    "shop_refund": 465,
    "url": "https://wallet.feennex.com/en/bill/pay/Waptm"
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные для оплаты
        • created: Wed, 10 Apr 2024 14:18:19 GMT (string, required) - Дата создания платежа. Формат: RFC 5322
        • id: 26 (number, required) - Уникальный идентификатор платежа в Feennex
        • lifetime: 43200 (number, required) - Время жизни платежа в минутах. Когда платеж будет просрочен, его статус поменяется на Expired. Значение по умолчанию – 43200 минут
        • payer_account: 1a2b3c (string, optional) - Аккаунт Feennex плательщика, который проводит оплату. Возвращается, если вы передавали этот параметр в запросе
        • payer_currency: 840 (number, required) - Валюта, в которой проводит оплату плательщик. Эта валюта может отличаться от валюты магазина. Возможные значения валют
        • payer_price: 23.15 (number, required) - Сумма, которую должен оплатить плательщик. Включает в себя комиссию Feennex
        • shop_amount: 10.0 (number, required) - Сумма платежа
        • shop_currency: 840 (number, required) - Валюта, в которой оплата зачисляется в ваш магазин. Возможные значения валют
        • shop_id: 3 (number, required) - Идентификатор вашего магазина в Feennex
        • shop_order_id: 101 (string, required) - Уникальный идентификатор заказа в вашей системе. Не более 255 символов
        • url: https://wallet.feennex.com/en/bill/pay/Waptm (string, required) - URL-адрес, на который вам нужно переотправить плательщика
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Запрос статуса платежа при оплате кошельком bill/shop_order_status [/bill/shop_order_status]

Метод позволяет узнать текущий статус платежа, по которому плательщик провел оплату с помощью кошелька Feennex. Подробнее про статусы платежа при оплате кошельком

Важно! Запрос статуса необходимо делать не чаще чем раз в 10 секунд.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now, shop_id и shop_order_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/bill/shop_order_status \
-H 'Content-Type: application/json' \
-d '{
"now": "2024-05-01 16:56:25.009469",
"shop_id": "1092",
"shop_order_id": "234234232323",
"sign": "ad7fbe8df102b"
}'

Пример ответа при ошибке

{
"data": null,
"message": "invalid sign",
"error_code": 1,
"result": false
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Запросить статус платежа при оплате кошельком [POST]

  • Request (application/json)

    • Attributes

      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • shop_id: 1092 (number, required) - Идентификатор вашего магазина в Feennex
      • shop_order_id: 123456789 (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

            { 
    "now": "2024-05-01 16:56:25.009469",
    "shop_id": "1092",
    "shop_order_id": "234234232323",
    "sign": "ad7fbe8df102b"
    }
  • Response 200 (application/json)

    • Headers

    • Body

            {
    "data":
    {
    "client_price": 1.16,
    "created": "2024-10-20 14:01:28",
    "description": "Main account",
    "is_unique": true,
    "payment_id": 852095,
    "payway": "feennex_usd",
    "processed": "2024-10-20 14:01:33",
    "ps_currency": 840,
    "ps_data": {
    "ps_payer_account": "201538122124"
    },
    "shop_amount": 1.1,
    "shop_currency": 840,
    "shop_id": 1092,
    "shop_order_id": "234234232323",
    "shop_refund": 1.1,
    "status": 2
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о платеже
        • client_price: 1.16 (number, required) - Сумма, которую фактически перевел плательщик
        • created: 2024-10-20 14:01:28 (string, required) - Дата и время создания платежа. Формат: ISO 8601
        • is_unique (boolean, required) - Уникальность номера заказа на стороне вашего магазина. Если вы уже создавали платеж с таким номером заказа, возвращается false. В этом случае метод возвращает информацию о последнем созданном платеже с оплатой кошельком
        • payment_id: 852095 (number, required) - Идентификатор платежа на стороне Feennex
        • payway: feennex_usd (string, required) - Платежное направление
        • processed (string, required) - Дата проведения платежа. Формат: ISO 8601
        • ps_currency: 840 (number, required) - Валюта получения платежа в платежной системе
        • ps_data (object, required) - Дополнительная информация от платежной системы, например аккаунт плательщика ps_payer_account: 201538122124 (string, required) - Аккаунт плательщика в Feennex
        • shop_amount: 10.0 (number, required) - Сумма платежа
        • shop_currency: 840 (number, required) - Валюта, в которой платеж зачисляется в магазин
        • shop_id: 3 (number, required) - Идентификатор вашего магазина в Feennex
        • shop_order_id: 101 (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
        • shop_refund: 1.1 (number, required) - сумма зачисления на баланс магазина, в валюте счета
        • status: 2 (number, required) - Статус платежа. Подробнее про статусы
        • description: Main account (string, optional) - Описание платежа. Не более 255 символов
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Group Прием платежей: сторонние платежные системы

Перед интеграцией ознакомьтесь с разделом Началo работы с API

Предварительный расчет платежа invoice/try [/invoice/try]

Метод не обязательный. Возвращает дополнительную информацию для создания платежа с предварительным расчетом комиссии.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: shop_id, amount, currency, payway и shop_order_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/invoice/try \
-H 'Content-Type: application/json' \
-d '{
"currency": 840,
"sign": "912b985f1895962",
"payway": "card_usd",
"amount": 12.34,
"shop_id": 112,
"shop_order_id": 4128
}'

Пример ответа при ошибке

{
"data": null,
"error_code": 4,
"message": "Payer price amount is too small, min: 1.0",
"result": false
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

Рассчитать платеж [POST]

  • Headers

  • Content-Type: application/json

  • Request (application/json)

    • Attributes

      • shop_id: 5 (number, required) - Идентификатор вашего магазина в Feennex
      • amount: 100 (number, required) - Сумма платежа
      • currency: 840 (number, required) - Валюта платежа. Возможные значения валют
      • payway: card_usd (string, required) - Платежное направление, для которого проходит расчет. Возможные значения вы можете уточнить в личном кабинете в настройках магазина в разделе Методы оплаты
      • sign: a7f5bcbb774ce (string, required) – Подпись запроса
      • shop_order_id (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
      • description: Оплата заказа (string, optional) – Описание платежа. Не более 255 символов
    • Body

            {
    "currency": 840,
    "sign": "912b985f1895962",
    "payway": "card_usd",
    "amount": 12.34,
    "shop_id": 112,
    "shop_order_id": 4128
    }
  • Response 200 (application/json)

    • Headers

    • Body

            {
    "data": {
    "add_ons_config": {
    "email": {
    "example": "[email protected]",
    "label": {
    "en": "E-mail:",
    "ru": "E-mail:",
    "uk": "E-mail:"
    },
    "regex": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$",
    "title": {
    "en": "Enter your e-mail",
    "ru": "Введите Ваш e-mail",
    "uk": "Введіть Ваш e-mail"
    }
    }
    },
    "exch_fee": 0,
    "info": null,
    "manual": 1,
    "payer_fee": 0,
    "payer_price": 500,
    "paymethod_id": 268,
    "paymethod_name": "Банк h2h",
    "ps_currency": 840,
    "warning": null
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о предварительном расчете платежа
        • add_ons_config (object, required) - дополнительная информация, если она требуется по платежному направлению
        • exch_fee: 0 (number, required) - Комиссия при конвертации
        • info: null (string, required) - Дополнительная информация о платеже
        • manual: 1 (number, required) - Служебный параметр
        • payer_fee: 0 (number, required) - Размер комиссии
        • payer_price: 500 (number, required) - Сумма, которую должен оплатить плательщик. Включает в себя комиссию Feennex
        • paymethod_id: 268 (number, required) - Идентификатор платежного направления
        • paymethod_name: Банк h2h (string, required) - Название платежного направления
        • ps_currency: 840 (number, required) - Валюта получения платежа в платежной системе
        • warning: null (string, required) - Служебный параметр
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Содержит описание ошибки. Пример: "Ok". По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Создание платежа invoice/create [/invoice/create]

С помощью данного метода вы можете создать платеж для приема оплаты любыми способами, кроме кошельков Feennex.

Важно! Если вы хотите принять оплату с помощью кошелька Feennex, создайте платеж с помощью метода Создание платежа с оплатой кошельком

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: shop_id, amount, email, currency, payway и shop_order_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/invoice/create \
-H 'Content-Type: application/json' \
-d '{
"currency": 840,
"sign": "a7f5bcbb774ce",
"payway": "card_usd",
"amount": 12.34,
"shop_id": 112,
"shop_order_id": 4129,
"description": "Оплата заказа"
}'

Пример ответа при ошибке

{
"data": null,
"error_code": 4,
"message": "Payer price amount is too small, min: 1.0",
"result": false
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Создать платеж [POST]

  • Request (application/json)

    • Attributes

      • shop_id: 5 (number, required) - Идентификатор вашего магазина в Feennex
      • amount: 100 (number, required) - Сумма платежа
      • email: [email protected] (string, required) - Электронная почта плательщика. Не участвует в формировании подписи
      • currency: 840 (number, required) - Валюта выставленного счета. Возможные значения валют
      • payway: card_usd (string, required) - Платежное направление. Возможные значения вы можете уточнить в личном кабинете в настройках магазина в разделе Методы оплаты
      • sign (string, required) – Подпись запроса
      • shop_order_id (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
      • description: Оплата заказа (string, optional) – Описание платежа. Не более 255 символов
      • failed_url: https://feennex.com/failed (string, optional) - URL-адрес, на который перенаправляется плательщик после неуспешной оплаты. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
      • success_url: https://feennex.com/success (string, optional) - URL-адрес, на который перенаправляется плательщик после успешной оплаты. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
      • callback_url (string, optional) - URL-адрес, на который отправляется уведомление об успешной оплате. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
      • callback_rejected_url (string, optional) - URL-адрес, на который отправляется уведомление о неуспешной оплате. Если хотите передавать URL-адрес в запросе, удалите значение соответствущий адрес из настроек магазина
    • Body

            {
    "currency": "840",
    "payway": "card_usd",
    "amount": "12.34",
    "email": "[email protected]",
    "shop_id": 112,
    "shop_order_id": 4129,
    "description": "Оплата заказа" ,
    "sign":"a7f5bcbb774ce"
    }
  • Response 200 (application/json)

    • Headers

    • Body

        {
    "data": {
    "data": {
    "session_id": "3067894a580242dd86e03890506a88b"
    },
    "id": 499564464,
    "method": "GET",
    "url": "https://example.com"
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит информацию о платеже
        • data (object, required) - Данные платежа
          • session_id (string, optional) - Идентификатор сессии. Параметр возвращается, если в параметре payway вы передали card-rub
          • language: en (string, optional) - Служебный параметр
          • mdOrder (string, optional) - Служебный параметр
        • method: GET (string, required) - Тип запроса, которым вам нужно перенаправить плательщика на URL-адрес из параметра url
        • url: https://epg.guavapay.com/epg/merchants/Skillgurus_PSX/payment.html (string, required) - URL-адрес, на который нужно перенаправить плательщика
        • id: 489222674 (number, required) - уникальный идентификатор платежа в Feennex
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Запрос статуса платежа invoice/check [/invoice/check]

Метод позволяет узнать статус созданного платежа, если для оплаты плательщик использовал любые доступные способы оплаты, кроме кошелька Feennex.

Важно! Чтобы узнать статус платежа, который вы создали для оплаты кошельком, используйте метод Запрос статуса платежа с оплатой кошельком

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now, shop_id и shop_order_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

curl https://core.feennex.com/invoice/check \
-H 'Content-Type: application/json' \
-d '{
"now": "2024-04-10 12:59:13",
"shop_id": "1",
"shop_order_id": "123456789",
"sign": "32b2c32caa8ad"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Запрос статуса платежа [POST]

  • Request (application/json)

    • Attributes

      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • shop_id: 1 (number, required) - Идентификатор вашего магазина в Feennex
      • shop_order_id: "123456789" (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

            {
    "now": "2024-04-10 12:59:13",
    "shop_id": 1,
    "shop_order_id": "123456789",
    "sign": "32b2c32caa8ad"
    }
  • Response 200 (application/json)

    • Headers

    • Body

            {
    "data":{
    "client_price":10.2,
    "created":"2024-04-10 12:59:13",
    "description":"Оплата заказа",
    "is_unique":false,
    "payment_id":11639480,
    "payway":"card_usd",
    "processed":null,
    "ps_currency":840,
    "ps_data":null,
    "shop_amount":10.0,
    "shop_currency":840,
    "shop_id":3,
    "shop_order_id":"101",
    "shop_refund":9.6,
    "status":2,
    "updated":null
    },
    "error_code":0,
    "message":"Ok",
    "result":true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит информацию о платеже
        • client_price: 1000.2 (number, required) - Фактическая сумма, которую оплатил плательщик
        • created: 2024-04-10 12:59:13 (string, required) - Дата и время создания платежа. Формат: ISO 8601
        • description: Оплата заказа (string, optional) - Описание платежа. Не более 255 символов
        • is_unique: false (boolean, required) - Уникальность номера заказа
        • payment_id: 11639480 (number, required) - Идентификатор платежа
        • payway: card_usd (string, required) - Платежное направление. Возможные значения вы можете уточнить в личном кабинете в настройках магазина в разделе Методы оплаты
        • processed (string, required) - Дата проведения платежа. Формат: ISO 8601
        • ps_currency: 840 (number, required) - Валюта получения платежа в платежной системе
        • ps_data (object, required) - Дополнительная информация от платежной системы, например аккаунт плательщика
          • amount (number, optional) - Сумма, которую должен перевести плательщик
          • qr_data (string, optional) - URL-адрес, который ведет на сайт банка на форму отправки перевода. Вам нужно самостоятельно сгенерировать QR-код из этого адреса и отобразить плательщику на платежной странице. Только для способа оплаты Перевод на банковский счет с помощью QR-кода.
          • qr_caption (string, optional) - Номер договора получателя перевода. Только для способа оплаты Перевод на банковский счет с помощью QR-кода.
          • bank: Ощадбанк (string, optional) - Название банка, в который плательщик делает перевод. Только для способа оплаты Перевод на банковский счет с помощью СБП
          • card (string, optional) - Номер банковской карты, на которую плательщик делает перевод. Только для способа оплаты Перевод на банковский счет с помощью перевод на счет
          • card_holder_name: Поліщук Святослав Миронович (string, optional) - ФИО физического лица, которому плательщик делает перевод. Только для способа оплаты Перевод на банковский счет с помощью номера карты
          • expired: 1707152043.557505 (string, optional) - Время, до которого плательщик должен отправить перевод. Рекомендуется предупреждать об этом плательщика. Только для способа оплаты Перевод на банковский счет
          • phone:79999999999 (string, optional) - Телефон физического лица, которому плательщик делает перевод. Только для способа оплаты Перевод на банковский счет с помощью СБП
          • currency (string, optional) - Валюта при переводе на счет. Возможные значения валют
          • method (string, optional) - код способа оплаты. Возможные значения вам сообщит менеджер
          • url (string, optional) - URL-адрес, из которого нужно сгенерировать QR-код. Значение возвращается, если параметр method имеет значение qr. В остальных случаях возвращается пустое значение
          • receipt_url (string, optional) - URL-адрес для загрузки чека по API. Возвращается, если способ оплаты – Перевод на банковский счет
          • receipt_status_url (string, optional) - URL-адрес для проверки статуса чека по API. Возвращается, если способ оплаты – Перевод на банковский счет
          • receipt_web (string, optional) - URL-адрес для загрузки чека через форму. На этот адрес вам нужно перенаправить плательщика, если вы не хотите реализовывать форму загрузки чека. Возвращается, если способ оплаты – Перевод на банковский счет
        • shop_amount: 10.0 (number, required) - Сумма, которую фактически оплатил плательщик
        • shop_currency: 840 (number, required) - Валюта, в которой платеж зачисляется в магазин
        • shop_id: 3 (number, required) - Идентификатор вашего магазина в Feennex
        • shop_order_id: 101 (string, required) - Уникальный номер заказа в вашей системе. Не более 255 символов
        • shop_original_amount (number, optional) - Изначальная сумма платежа. Возвращается, если плательщик перевел не ту сумму
        • shop_refund: 9.6 (number, required) - Сумма, которая поступит на счет вашего магазина
        • status: 2 (number, required) - Статус счета. Подробнее про статусы платежей
        • updated (number, required) - Дата и время последнего изменения статуса платежа. Формат: ISO 8601. Запрос статуса необходимо делать не чаще чем раз в 10 секунд. Если shop_order_id не уникален, в ответе содержится "is_unique":false, а метод возвращает информацию по последнему созданному платежу
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Данные для HTML-формы [/h2h_data]

Только для сценария Самостоятельная интеграция Host-to-Host при оплате банковской картой.

Запрос возвращает токен и URL-адрес, которые требуются для формирования HTML-формы с карточными данными плательщика.

Формировать подпись для этого запроса не нужно.

Production URL вам предоставит менеджер.

Обязательный параметр запроса: session_id

curl https://example.com/h2h_data \
-H 'Content-Type: application/json' \
-d '{
"session_id": "26d90ef012e34b44aa9d74a3556e15a6"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Запрос данных для HTML-формы [POST]

  • Request (application/json)

    • Attributes

      • session_id: 26d90ef012e34b44aa9d74a3556e15a6 (required, string) - Идентификатор сессии, который вы получили в ответе на запрос Создание платежа
    • Body

            {
    "session_id": "26d90ef012e34b44aa9d74a3556e15a6"
    }
  • Response 200 ()

    • Body
            {
    "data":
    {
    "form_token": "uerhdw47d748yd784dy83uhueh834h84dh84hd8dh8",
    "payform_url": "https://example.com/payform",
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)

      • form_token: uerhdw47d748yd784dy83uhueh834h84dh84hd8dh8 (string, required) - Токен для передачи карточных данных
      • payform_url: https://example.com/payform (string, required) - URL-адрес для редиректа пользователя с карточными данными

Отправка чеков order/&#123;id&#125;/receipt [/api/v1/order/{id}/receipt]

Только для сценария Самостоятельная интеграция Host-to-Host и тех, кто самостоятельно реализовывает страницу загрузки чека.

Метод позволяет отправить в службу поддержки Feennex чек, который вам передал плательщик. Формировать подпись для этого запроса не нужно.

Адрес для отправки запроса и значение параметра id вам нужно получить при запросе статуса платежа.

Подробнее про отправку чеков

Обязательный параметр запроса: file

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

curl -X POST \ 
--location 'https://<baseURL>/api/v1/order/{id}/receipt' \
--form 'file=@"/home/cwm/Pictures/receipt.jpg"'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Отправить чек [POST]

  • Request (application/json)

    • Attributes

      • file: /home/cwm/Pictures/receipt.jpg (required, string) - Путь к изображению с чеком. Поддерживаемые форматы: JPEG, JPG, PNG, PDF, WebP, HEIF. Размер изображения не должен превышать 10 МБ
  • Response 200 (application/json)

    • Body

      null

  • Response 400 (application/json)

    • Body
            {
    "detail": "File type: application/zip not allowed"
    }

Получение статуса чека order/&#123;id&#125;/receipt/status [/api/v1/order/{id}/receipt/status]

Метод позволяет узнать статус чека, который вы отправили в службу поддержки Feennex с помощью метода Отправка чеков. Формировать подпись для этого запроса не нужно.

Подробнее про отправку чеков

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

curl -X GET \ 
--location 'https://<baseURL>/api/v1/order/{id}/receipt/status' \

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

GET Получить статус чека [GET]

  • Response 200

    • Body

      [

                {
"id": "c9e35f42-62de-45c4-8092-152ba47d81e5",
"status": "pending",
"comment": null
}

]

  • Attributes (object)

    • id (string, required) - Уникальный идентификатор чека
    • status: pending (string, required) - Статус чека. Возможные значения: pending, succeeded, rejected. Подробнее про статусы чека
    • comment: null (string, optional) - Комментарий к чеку от технической поддержки Feennex
  • Response 422

    • Body
            {
    "detail": [
    {
    "loc": [
    "query",
    "order_id"
    ],
    "msg": "value is not a valid uuid",
    "type": "type_error.uuid"
    }
    ]
    }

Group Bыплата на кошелек Feennex

Перед интеграцией ознакомьтесь с разделом Началo работы с API

Предварительный расчет выплаты на кошелек Feennex transfer/try [/transfer/try]

Метод не обязательный для создания выплаты на кошелек. Возвращает дополнительную информацию для создания выплаты на кошелек с предварительным расчетом комиссии.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: amount, amount_type, payee_currency, shop_currency и shop_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/transfer/try \
-H 'Content-Type: application/json' \
-d '{
"amount": 1.11,
"amount_type": "receive_amount",
"payee_currency": 978,
"shop_currency": 840,
"shop_id": 6,
"sign": "cea33ec0eeeef98"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Предварительный расчет выплаты [POST]

  • Request (application/json)

    • Attributes

      • amount: 1 (number, required) - Сумма получения или списания, зависит от значения amount_type
      • amount_type: receive_amount (string, required) - Определяет тип суммы. receive_amount – сумма выплаты, которая поступит на кошелек, writeoff_amount - сумма, которая спишется с баланса вашего магазина
      • payee_currency: 840 (string, required) - Валюта, в которой выплата поступит на кошелек Feennex. Возможные значения валют
      • shop_currency: 840 (number, required) - Валюта, с которой выплата спишется со счета вашего магазина. Возможные значения валют
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого проходит выплата
      • sign: cea33ec0eeeef98 (string, required) - Подпись запроса
    • Body

            {
    "amount": 1.11,
    "amount_type": "receive_amount",
    "payee_currency": 978,
    "shop_currency": 840,
    "shop_id": 6,
    "sign": "cea33ec0eeeef98"
    }
  • Response 200 (application/json)

    • Headers

    • Body

            {
    "data": {
    "account_info_config": {
    "payee_account": {
    "comment": {
    "en": "Enter Wallet Number or Email",
    "ru": "Введите номер кошелька или email"
    },
    "example": "201557414711",
    "label": {
    "en": "Wallet Number or Email",
    "ru": "Введите номер кошелька или email"
    },
    "regex": "^20[\\d]{10}$|^([a-zA-Z0-9_-]+\\.)*[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*\\.[a-zA-Z]{2,6}$"
    }
    },
    "info": {},
    "payee_amount": 1.11,
    "payee_currency": 978,
    "shop_currency": 840,
    "write_off_amount": 1.19
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит информацию о выплате
        • account_info_config (object, required) - Информация об аккаунте, на который будет выплата
          • payee_account (object, required) - Дополнительная информация об аккаунте, на который будет выплата. Параметры в объекте могут отличаться для каждого направления на выплату
        • info (object, required) - Служебный параметр
        • payee_amount: 1.11 (number, required) - Сумма, которая поступит на ваш счет
        • payee_currency: 978 (number, required) - Валюта суммы, которая поступит на ваш счет
        • shop_currency: 840 (number, required) - Валюта суммы, которая спишется со счета вашего магазина
        • write_off_amount (number, required) - Сумма, которая спишется со счета магазина
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Выплaта на кошелек Feennex transfer/create [/transfer/create]

С помощью этого метода вы можете создать выплату для перечисления денег с баланса магазина на ваш кошелек Feennex.

Важно! После создания выплаты на кошелек в ответе не возвращается статус. Если выплата на кошелек создана, а в ответе вернулся идентификатор выплаты (параметр id), то выплата считается успешной. Больше делать ничего не нужно.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: amount, amount_type, payee_account, payee_currency, shop_currency, shop_id и shop_payment_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/transfer/create \
-H 'Content-Type: application/json' \
-d '{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 840,
"shop_currency": 840,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f5"
}'

Подробнее про выплаты на кошелек Feennex

Метод не обязательный для создания выплаты на кошелек. Возвращает дополнительную информацию для создания выплаты на кошелек с предварительным расчетом комиссии.

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

Создание выплаты на кошелек [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • amount: 1 (number, required) - Сумма получения или списания. Зависит от параметра amount_type
      • amount_type: receive_amount (string, required) - Определяет тип суммы. Возможные значения: receive_amount – сумма, которая поступит на ваш аккаунт с учетом всех комиссий. writeoff_amount - сумма, которая спишется с баланса магазина. Не включает в себя комиссию
      • payee_account: 201497141132 (string, required) - Аккаунт получателя денег в Feennex. Можно передать номер кошелька или email
      • payee_currency: 840 (string, required) - Валюта, в которой выплата поступит на аккаунт в Feennex. Возможные значения валют
      • shop_currency: 840 (number, required) - Валюта, в которой выплата спишется с вашего магазина. Возможные значения валют
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого осуществляется выплата
      • shop_payment_id (string, required) - Идентификатор выплаты на вашей стороне. Должен быть уникальным для каждой новой выплаты.
      • sign: cd30ba2b6e29f5 (string, required) - Подпись запроса
    • Body

            {
    "amount": 10,
    "amount_type": "receive_amount",
    "payee_account": "201497141132",
    "payee_currency": 840,
    "shop_currency": 840,
    "shop_id": 112,
    "shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
    "sign": "cd30ba2b6e29f5"
    }
  • Response 200 ()

    • Body
            {
    "data": {
    "balance": 88.91,
    "id": 12,
    "payee_account": 201497141132,
    "payee_amount": 10,
    "payee_currency": 840,
    "shop": 112,
    "shop_currency": 840,
    "write_off_amount": 10
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о выплате
        • balance: 88.91 (number, required) - Баланс вашего магазина после выплаты
        • id (number, required) - Уникальный идентификатор выплаты
        • payee_account: 201497141132 (number, required) - Аккаунт получателя денег в системе Feennex. Можно передать номер кошелька или email
        • payee_currency: 840 (number, required) - Валюта, в которой выплата поступит на кошелек
        • shop: 112 (number, required) - Идентификатор магазина Feennex
        • shop_currency (number, required) - Валюта, в которой выплата спишется со счета вашего магазина
        • write_off_amount (number, required) - Сумма, которая спишется со счета магазина
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Запрос статуса выплаты на кошелек transfer/shop_payment_status [/transfer/shop_payment_status]

Если при создании выплаты на кошелек вы в ответе получили ошибку, запросите статус выплаты. Метод возвращает статус выплаты на кошелек Feennex по номеру заказа на вашей стороне:

  • Если в ответе возвращается id и данные по переводу, выплата создана и успешно проведена.
  • Если возвращается ошибка, что выплата не найдена, то нужно повторно создать выплату на кошелек.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now, shop_id и shop_payment_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/transfer/shop_payment_status \
-H 'Content-Type: application/json' \
-d '{
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
"now": "2024-12-06 16:07:28.878200",
"sign": "e76c5ed9431d"
}'

Пример ответа, если выплата создана и успешно проведена

{
"data": {
"id": 3,
"payee_currency": 840,
"receive_amount": 1,
"shop_currency": 840,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
"write_off_amount": 1
},
"error_code": 0,
"message": "Ok",
"result": true
}

Пример ответа при ошибке

{ 
"data": null,
"error_code": 7,
"message": "Transfer (shop_payment_id=test) wasn't found",
"result": false
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

Запросить статус выплаты на кошелек [POST]

  • Headers

  • Content-Type: application/json

  • Request (application/json)

    • Attributes

      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого осуществляется выплата
      • shop_payment_id (string, required) - Идентификатор выплаты на вашей стороне. Должен быть уникальным для каждой новой выплаты.
      • sign: cd30ba2b6e29f5 (string, required) - Подпись запроса
    • Body

        { 
    "shop_id": 112,
    "shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
    "now": "2024-12-06 16:07:28.878200",
    "sign": "e76c5ed9431d"
    }
  • Response 200 ()

    • Body
        { 
    "data":
    {
    "id": 3,
    "payee_currency": 840,
    "receive_amount": 1,
    "shop_currency": 840,
    "shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
    "write_off_amount": 1
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о выплате
        • id (number, required) - Идентификатор выплаты
        • payee_currency: 840 (number, required) - Валюта выплаты, которая поступит на ваш кошелек
        • receive_amount: 1 (number, required) – Сумма, которая поступит на ваш кошелек
        • shop_currency: 840 (number, required) - Валюта, в которой выплата спишется со счета вашего магазина
        • shop_payment_id (string, required) - Уникальный идентификатор платежа на стороне вашего магазина;
        • write_off_amount (number, required) - Сумма списания с магазина. ВАлюта этой суммы соответствует значению параметра shop_currency
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Group Выплата на счет в сторонней платежной системе

Перед интеграцией ознакомьтесь с разделом Началo работы с API

Предварительный расчет выплаты withdraw/try [/withdraw/try]

Метод не обязательный. Возвращает дополнительную информацию для создания выплаты с предварительным расчетом комиссии.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: shop_currency, amount_type, payway, amount, shop_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/withdraw/try \
-H 'Content-Type: application/json' \
-d '{

"amount_type": "ps_amount",
"shop_currency": 840,
"sign": "32b2c32caa8ad",
"payway": "card_usd",
"amount": 1,
"shop_id": 112
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

Запросить расчет выплаты [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • shop_currency: 840 (number, required) - Валюта списания выплаты со счета вашего магазина. Возможные значения валют
      • amount_type: receive_amount (string, required) - Определяет тип суммы. Возможные значения: ps_amount – сумма, которая поступит на счет получателя в платежной системе, shop_amount – сумма, которая спишется с баланса вашего магазина
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
      • payway: card_usd (string, required) - Направление для выплаты. Возможные значения вы можете узнать в личном кабинете в настройках магазина в разделе Направления вывода. Валюта получения зависит от переданного направления для выплаты
      • amount: 1 (number, required) - Сумма получения или списания. Зависит от значения параметра amount_type
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого осуществляется выплата
    • Body

        { 
    "amount_type": "ps_amount",
    "shop_currency": 840,
    "sign": "f97c52fa8d273a",
    "payway": "card_usd",
    "amount": 1,
    "shop_id": 112
    }
  • Response 200 ()

    • Body
        { 
    "data":
    {
    "account_info_config"
    {
    "account":
    {
    "regex": "\\d{9,15}$",
    "title": "79123456789"
    }
    }

    "payee_receive": 1, "ps_currency": 840, "shop_currency": 840, "shop_write_off": 1.02 }, "error_code": 0, "message": "Ok", "result": true }

    • Attributes (object)
      • data (object, required) - Объект содержит данные о выплате
        • account_info_config (object, required) - Информация об аккаунте, на который будет выплата
          • account (object, required) - Дополнительная информация об аккаунте, на который будет выплата. Параметры в объекте могут отличаться для каждого направления на выплату
          • regex: \d{9,15}$ (string, required) - Регулярное выражение, которому должен соответствовать аккаунт
          • title: 79123456789 (string, required) - Название поля аккаунта
        • payee_receive: 1 (number, required) - Сумма выплаты, которая поступит на счет получателя в сторонней системе
        • ps_currency: 840 (number, required) - Валюта направления на выплату
        • shop_currency (number, required) - Валюта, в которой выплата спишется со счета магазина
        • write_off_amount (number, required) - Сумма списания с магазина в валюте кошелька
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Проверка аккаунта check_account [/check_account]

Метод возвращает информацию о том, можно ли сделать выплаты на определенный аккаунт Feennex. Метод не обязательный для создания выплаты, но его рекомендуется использовать перед созданием выплаты.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: account, payway, amount и shop_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

Если в ответе на запрос Предварительный расчет выплаты возвращается объект account_info_config с дополнительными параметрами, эти параметры, кроме account, вам нужно передавать в запросе на Создание выплаты в параметре account_details.

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

curl https://core.feennex.com/check_account \
-H 'Content-Type: application/json' \
-d '{
"account": "4111111111111111",
"account_details": {
"contract": "C1234"
},
"sign": "faf7ee6db712752f2b107e05328bbd0d",
"payway": "card_eur",
"amount": 10.5,
"shop_id": 1
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

Запросить проверку [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • account: 4111111111111111 (string, required) - Основной аккаунт, который нужно проверить на возможность пополнения. Формат для каждого платежного направления может отличаться: информацию можно уточнить в личном кабинете
      • account_details (object, optional) - Дополнительная информация для проверки аккаунта
        • contract: C1234 (string, optional) - Номер договора аккаунта, который нужно проверить на возможность пополнения
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
      • payway: card_usd (string, required) - Направление для выплаты. Возможные значения вы можете узнать в личном кабинете в настройках магазина в разделе Направления вывода. Валюта получения зависит от переданного направления для выплаты
      • amount: 1 (number, required) - Сумма планируемого зачисления на аккаунт в валюте платежного направления. Нужно для проверки лимитов пополнения
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого осуществляется выплата
    • Body

        {
    "account": "4111111111111111",
    "account_details": {
    "contract": "C1234"
    },
    "sign": "faf7ee6db712752f2b107e05328bbd0d",
    "payway": "card_eur",
    "amount": 10.5,
    "shop_id": 1
    }
  • Response 200 ()

    • Body
        {
    "data": {
    "account_info": {
    "verified": "true"
    },
    "provider_status": 1,
    "result": true
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о проверке
        • account_info (object, required) - дополнительная информация, возвращаемая от провайдера услуги, можно отображать плательщику, так как зачастую содержит его персональную информацию, например, ФИО владельца аккаунта
          • verified: true (boolean, required) -
        • provider_status: 1 (number, required) - статус ответа провайдера, на запрос проверки возможности пополнения аккаунта, формат: 1 - провайдер доступен, проверка прошла без ошибок; 2 - ошибка на провайдере, результат проверки неизвестен; 3 - ошибка при обработке запроса, результат проверки неизвестен;
        • result: true (boolean, required) - результат проверки возможности пополнения на аккаунт
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Создание выплаты withdraw/create [/withdraw/create]

Метод создает выплату для перечисления денег с баланса вашего магазина Feennex на доступные платежные системы, кроме кошелька Feennex.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: account, amount, amount_type, payway, shop_currency, shop_id и shop_payment_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

Параметр shop_payment_id должен быть уникальным для каждого запроса.

Причину отклонения выплаты вы можете найти в параметре rejected_reason, который возвращается в запросах на создание выплаты и получение статуса выплаты

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

curl https://core.feennex.com/withdraw/create \
-H 'Content-Type: application/json' \
-d '{
"account": "4111111111111111",
"amount": 1,
"amount_type": "ps_amount",
"email": "[email protected]",
"payway": "card_usd",
"shop_currency": 840,
"shop_id": 112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"sign": "b4c3ca4b403bb"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Создать выплату [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • account: 4111111111111111 (string, required) - Аккаунт получателя выплаты в платежной системе, например номер карты
      • amount: 1 (number, required) - Сумма получения или списания. Зависит от значения параметра amount_type
      • amount_type: ps_amount (string, required) - Определяет тип суммы. Возможные значения: ps_amount – сумма к получению в платежной системе, shop_amount – сумма к списанию с баланса вашего магазина
      • email: [email protected] (string, required) - Электронная почта получателя выплаты. Не участвует в [формировании подписи(#sign)
      • payway: card_usd (string, required) - Направление для выплаты. Возможные значения вы можете узнать в личном кабинете в настройках магазина в разделе Направления вывода. Валюта получения зависит от переданного направления для выплаты
      • shop_currency: 840 (number, required) - Валюта, в которой выплата спишется со счета вашего магазина. Возможные значения валют
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого осуществляется выплата
      • shop_payment_id (string, required) - Уникальный идентификатор выплаты на вашей стороне
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
      • account_details (object, optional) - Объект с дополнительной информацией об аккаунте получателя выплаты. Состав параметров в объекте зависит от выбранного направления для выплат. Список параметров можно посмотреть в личном кабинете по каждому направлению
      • description: Выплата (string, optional) - Описание выплаты. Значение передается в назначении платежа, если платежная система имеет такую функцию. Не более 255 символов
    • Body

        {
    "account": "4111111111111111",
    "amount": 1,
    "amount_type": "ps_amount",
    "email": "[email protected]",
    "payway": "card_usd",
    "shop_currency": 840,
    "shop_id": 112,
    "shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
    "sign": "b4c3ca4b403bb"
    }
  • Response 200 ()

    • Body
        {
    "data":
    {
    "balance": 0.0,
    "id": 11298076,
    "payee_receive": 1,
    "ps_currency": 840,
    "shop_currency": 840,
    "shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
    "shop_write_off": 1.02,
    "status": 3
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о выплате
        • balance: 0.0 (number, required) - Баланс вашего магазина после успешного создания выплаты
        • id: 11298076 (number, required) - Уникальный идентификатор выплаты на стороне Feennex
        • payee_receive: 1 (number, required) - Сумма выплаты, которая поступит на счет получателя в сторонней системе
        • shop_currency: 840 (number, required) - Валюта, в которой выплата спишется со счета вашего магазина
        • shop_payment_id (string, required) - Уникальный идентификатор выплаты на вашей стороне
        • shop_write_off: 1.02 (number, required) - Cумма, которая спишется с вашего магазина
        • status: 3 (number, required) - Статус выплаты
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Запрос статуса по идентификатору выплаты withdraw/status [/withdraw/status]

Метод позволяет получить статус выплаты по идентификатору выплаты – параметру withdraw_id.

Рекомендуется запрашивать статус выплаты не чаще, чем раз в минуту.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now, shop_id и withdraw_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/withdraw/status \
-H 'Content-Type: application/json' \
-d '{
"now": "2024-12-06 16:07:28.878200",
"shop_id": 112,
"withdraw_id": 11298076,
"sign": "e1dfc97b2c5430"
}'

Пример ответа при ошибке

{
"error_code": 2000,
"message": "Withdraw (id=3) wasn't found",
"data": null,
"result": false
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Запросить статус выплаты [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого осуществляется выплата
      • withdraw_id: 112 (number, required) - Уникальные идентификатор выплаты на стороне Feennex, для которой необходимо узнать статус
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

        {
    "now": "2024-12-06 16:07:28.878200",
    "shop_id": 112,
    "withdraw_id": 11298076,
    "sign": "e1dfc97b2c5430"
    }
  • Response 200 ()

    • Body
        {
    "data": {
    "id": 11298076,
    "payee_receive": 1,
    "ps_currency": 840,
    "shop_currency": 840,
    "shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
    "shop_write_off": 1.02,
    "status": 5
    },
    "result": True,
    "error_code": 0,
    "message": "Ok"
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о выплате
        • id: 11298076 (number, required) - Уникальный идентификатор выплаты на стороне Feennex
        • payee_receive: 1 (number, required) - Сумма выплаты, которая поступит на счет получателя в сторонней системе
        • ps_currency: 840 (number, required) - Валюта получения выплаты в платежной системе
        • rejected_reason: Номер карты не существует. Пожалуйста, проверьте правильность номера (string, optional) - Причина отмены выплаты
        • shop_currency: 840 (number, required) - Валюта, в которой выплата спишется со счета вашего магазина
        • shop_payment_id (string, required) - Уникальный идентификатор выплаты на вашей стороне
        • shop_write_off: 1.02 (number, required) - Сумма списания с вашего магазина
        • status: 5 (number, required) - Статус выплаты. Возможные значения статусов
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Запрос статуса по номеру выплаты в вашей системе withdraw/shop_payment_status [/withdraw/shop_payment_status]

Метод позволяет получить статус выплаты по номеру выплаты в вашей системе – параметру shop_payment_id.

Рекомендуется запрашивать статус выплаты не чаще, чем раз в минуту.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now, shop_id и shop_payment_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/withdraw/shop_payment_status \
-H 'Content-Type: application/json' \
-d '{
"shop_id":112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"now": "2024-12-06 16:07:28.878200",
"sign": "a1ab593500a4"
}'

Пример ответа при ошибке

{
"error_code": 2000,
"message": "Withdraw (id=3) wasn't found",
"data": None,
"result": False
}

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Запросить статус выплаты по идентификатору выплаты в вашей системе [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого проходит выплата
      • shop_payment_id (string, required) - Уникальный номер выплаты на вашей стороне
      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

        {
    "shop_id":112,
    "shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
    "now": "2024-12-06 16:07:28.878200",
    "sign": "a1ab593500a4"
    }
  • Response 200 ()

    • Body
        {
    "data": {
    "id": 11298076,
    "payee_receive": 1,
    "ps_currency": 840,
    "shop_currency": 840,
    "shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
    "shop_write_off": 1.02,
    "status": 5
    },
    "result": True,
    "error_code": 0,
    "message": "Ok"
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о выплате
        • id: 11298076 (number, required) - Уникальный идентификатор выплаты на стороне Feennex
        • payee_receive: 1 (number, required) - Сумма выплаты, которая поступит на счет получателя в сторонней системе
        • ps_currency: 840 (number, required) - Валюта выплаты в платежной системе
        • shop_currency: 840 (number, required) - Валюта, в которой выплата спишется со счета вашего магазина
        • shop_payment_id (string, required) - Уникальный номер выплаты на вашей стороне
        • shop_write_off: 1.02 (number, required) - Сумма списания со счета вашего магазина
        • status: 5 (number, required) - Актуальный статус выплаты. Возможные значения статусов
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Group Методы для работы с магазином

Перед интеграцией ознакомьтесь с разделом Началo работы с API

Запрос баланса shop_balance [/shop_balance]

Метод позволяет узнать баланс вашего магазина Feennex.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now и shop_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

Баланс магазина состоит из следующих значений:

  • available – Сумма, которая доступна для выплат, за исключением rolling_reserve
  • frozen – Замороженная сумма на балансе. Например, для выплаты, которая находится в обработке
  • hold – Временно удержанная сумма. Например, при проверке входящего поступления

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

curl https://core.feennex.com/shop_balance \
-H 'Content-Type: application/json' \
-d '{
"shop_id":112,
"now": "2024-04-12T06:18:34.719Z",
"sign": "77c6cc948751ee"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

Запросить баланс [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого проходит выплата
      • shop_payment_id (string, optional) - Идентификатор транзакции на стороне магазина
      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

        {
    "now": "2024-04-12T06:18:34.719Z",
    "shop_id": 112,
    "sign": "77c6cc948751ee"
    }
  • Response 200 ()

    • Body
        {
    "data": {
    "balances": [
    {
    "available": 100.0,
    "currency": 978,
    "frozen": 0.0,
    "hold": 0.0,
    "rolling_reserve": 0.0
    },
    {
    "available": 200.0,
    "currency": 840,
    "frozen": 0.0,
    "hold": 0.0,
    "rolling_reserve": 0.0
    },
    {
    "available": 93.0,
    "currency": 840,
    "frozen": 0.0,
    "hold": 0.0,
    "rolling_reserve": 0.0
    }
    ],
    "shop_id": 112
    },
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит информацию о балансе
        • balances (array, required) - баланс магазина в разрезе валют
          • object
            • available: 93.0 (number, required) - Доступный баланс магазина
            • currency: 840 (number, required) - Валюта баланса. Возможные значения валют
            • hold: 0.0 (number, required) - Временно удержанные средства, например, при проверке входящего поступления
            • frozen: 20.0 (number, required) - Замороженные средства на балансе магазина
            • rolling_reserve 0.0 (number, optional) - Временно удержанные денежные средства на балансе магазина
        • shop_id: 112 (number, required) - Идентификатор вашего магазина Feennex
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Получение доступных платежных направлений shop_input_config/shop [/shop_input_config/shop]

Метод возвращает доступные для вашего магазина платежные направления. Например, оплата банковской картой или кошельком Feennex.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now и shop_id*. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/shop_input_config/shop \
-H 'Content-Type: application/json' \
-d '{
"shop_id":112,
"now": "2024-04-12T06:18:34.719Z",
"sign": "77c6cc948751ee"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Получить доступные платежные направления [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • shop_id: 112 (number, required) - Идентификатор магазина, с которого осуществляется выплата
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

            {
    "now": "03.09.2024 11:19:55",
    "shop_id": 3,
    "sign": "588485c9d7f0d"
    }
  • Response 200 ()

    • Body
            {
    "data": [
    {
    "id": 1,
    "is_bill_config": true,
    "name": "Feennex Wallet",
    "payways": [
    {
    "alias": "feennex_usd",
    "currency": 840,
    "fee_config": {
    "fix": 0,
    "percent": 7
    },
    "fee_part_config": {
    "fix_part": 1,
    "percent_part": 1
    },
    "id": 83543,
    "is_active": true,
    "max_amount": 1000000,
    "min_amount": 1
    }
    ],
    "rating": 1
    },
    {
    "id": 267,
    "name": "СБП h2h",
    "payways": [
    {
    "add_ons_config": {
    "email": {
    "example": "[email protected]",
    "label": {
    "en": "E-mail:",
    "ru": "E-mail:",
    "uk": "E-mail:"
    },
    "regex": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$",
    "title": {
    "en": "Enter your Email",
    "ru": "Введите Ваш Email",
    "uk": "Введіть Ваш Email"
    }
    }
    },
    "alias": "sbp_h2h_usd",
    "currency": 840,
    "fee_config": {
    "fix": 0,
    "percent": 10
    },
    "fee_part_config": {
    "fix_part": 0,
    "percent_part": 1
    },
    "id": 797,
    "is_active": true,
    "max_amount": 100000,
    "min_amount": 300
    }
    ],
    "rating": 94
    },
    {
    "id": 268,
    "name": "Банк h2h",
    "payways": [
    {
    "add_ons_config": {
    "email": {
    "example": "[email protected]",
    "label": {
    "en": "E-mail:",
    "ru": "E-mail:",
    "uk": "E-mail:"
    },
    "regex": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$",
    "title": {
    "en": "Enter your e-mail",
    "ru": "Введите Ваш e-mail",
    "uk": "Введіть Ваш e-mail"
    }
    }
    },
    "alias": "bank_h2h_usd",
    "currency": 840,
    "fee_config": {
    "fix": 0,
    "percent": 10
    },
    "fee_part_config": {
    "fix_part": 0,
    "percent_part": 1
    },
    "id": 798,
    "is_active": true,
    "max_amount": 100000,
    "min_amount": 300
    }
    ],
    "rating": 95
    },
    {
    "id": 119,
    "name": "Банковские карты",
    "payways": [
    {
    "add_ons_config": null,
    "alias": "card_rub",
    "currency": 643,
    "fee_config": {
    "fix": 0,
    "percent": 15
    },
    "fee_part_config": {
    "fix_part": 0,
    "percent_part": 1
    },
    "id": 864,
    "is_active": true,
    "max_amount": 140000,
    "min_amount": 300
    }
    ],
    "rating": 108
    }
    ],
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о доступных платежных направлениях
        • object
          • id: 3 (number, required) - Идентификатор платежного метода
          • is_bill_config (boolean, optional) - Параметр, который указывает, что направление предназначено для платежей
          • name: LiqPay (string, required) - Наименование платежного метода
          • payways (array, required) - Платежные направления, которые включены магазину
            • object
              • add_ons_config (string, optional) - Дополнительная информация, если она требуется по платежному направлению
              • alias: card_usd (string, required) - Наименование платежного направления
              • currency: 840 (number, required) - Валюта в разрезе платежного направления. Возможные значения валют
              • fee_config (object) - настройки распределения комисии между магазином и плательщиком
                • fix: 0.0 (number, required) - фиксированная комиссия
                • percent: 6.0 (number, required) - распределение процентной комиссии (0,0-1,0)
              • fee_part_config (object, optional) - настройки распределения комисии между магазином и плательщиком
                • fix: 0.0 (number, required) - фиксированная комиссия
                • percent: 6.0 (number, required) - процентная комиссия
              • id: 154 (number, required) - Id платежного направления
              • is_active: true (boolean, required) - статус активации
              • max_amount: 100000.0 (number, required) - максимальная сумма платежа в разрезе направления
              • min_amount: 1.0 (number, required) - минимальная сумма платежа в разрезе направления
          • rating (number, optional) - Служебный параметр
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Получение доступных направлений для выплат shop_output_config/shop [/shop_output_config/shop]

Метод возвращает доступные для вашего магазина направления для выплат. Например, выплата на банковскую карту.

Для метода нужно сформировать подпись с помощью обязательных параметров запроса: now и shop_id. Сформированную подпись нужно передать в параметре sign.

Нажмите на кнопку в конце описания метода, чтобы увидеть описание параметров запроса и ответа.

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

curl https://core.feennex.com/shop_output_config/shop \
-H 'Content-Type: application/json' \
-d '{
"shop_id":3,
"now": "03.09.2024 11:19:55",
"sign": "588485c9d7f0d"
}'

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

POST Получить доступные направления для выплат [POST]

  • Request (application/json)

    • Headers

    • Attributes

      • now (string, required) - Дата и время, когда вы отправляете запрос. Формат: ISO 8601
      • shop_id: 1 (number, required) - Идентификатор вашего магазина, с которого проходит выплата
      • sign: 32b2c32caa8ad (string, required) - Подпись запроса
    • Body

            {
    "now": "03.09.2024 11:19:55",
    "shop_id": 3,
    "sign": "588485c9d7f0d"
    }
  • Response 200 ()

    • Body
            {
    "data":[
    {
    "id": 1,
    "name": "LiqPay",
    "payways": [
    {
    "account_info_config":
    {
    "account":
    {
    "regex": "^(4|5|6)[0-9]{15,17}$",
    "title": "Номер карты"
    }
    },
    "alias":"card_eur",
    "currency": 978,
    "fee_config":
    {
    "fix": 10.0,
    "percent": 1.5
    },
    "info_id": null,
    "max_amount": 14999.0,
    "min_amount": 1.0
    }
    ],
    "rating": 1
    },
    {
    "id": 3,
    "is_transfer_config": true,
    "name": "Feennex",
    "payways": [
    {
    "account_info_config":
    {
    "payee_account": {
    "regex": "^20[\\d]{10}$|^([a-zA-Z0-9_-]+\\.)*[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*\\.[a-zA-Z]{2,6}$",
    "title": "Номер кошелька или email"
    }
    },
    "alias": "feennex_usd",
    "currency": 840,
    "fee_config":
    {
    "fix": 0.0,
    "percent": 0.0
    },
    "info_id": null,
    "max_amount": 10000.0,
    "min_amount": 0.5
    }
    ],
    "rating": 22
    }
    ],
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
    • Attributes (object)
      • data (object, required) - Объект содержит данные о доступных направлениях для выплат
        • id: 3 (number, required) - Идентификатор платежного метода
        • is_transfer_config (boolean, optional) - Параметр, который указывает, что направление предназначено для выплат
        • name: LiqPay (string, required) - Наименование платежного метода
        • payways (array, required) - Направления для выплат, которые подключены для вашего магазина
          • object
            • account_info_config (object) - Информация об аккаунте, на который будет выплата
              • account (object) - Дополнительная информация об аккаунте
                • regex (string, required) - Регулярное выражение, которому должен соответствовать аккаунт
                • title (string, required) - Название поля аккаунта
          • alias: card_usd (string, required) - наименование платежного направления
          • currency: 840 (number, required) - валюта в разрезе платежного направления. Возможные значения валют
          • fee_config (object) - Размер комиссии
            • fix: 0.0 (number, required) - фиксированная комиссия
            • percent: 6.0 (number, required) - процентная комиссия
          • info_id: null (string, required) - служебный параметр
          • max_amount: 10000.0 (number, required) - максимальная сумма платежа в разрезе направления
          • min_amount: 0.5 (number, required) - минимальная сумма платежа в разрезе направления
        • rating: 22 (number, required) - Служебный параметр
      • error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок
      • message: Ok (string, required) - Описание ошибки. По значению этого параметра можно определить успешность запроса и узнать, что пошло не так
      • result: true (boolean, required) - Успешность запроса

Запрос доступности сервиса Feennex check_status [/check_status]

Метод позволяет узнать доступность сервиса Feennex.

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

curl -X GET \ 
--location 'https://core.feennex.com/check_status' \

Нажмите на кнопку ниже, чтобы просмотреть параметры метода и тела запроса и ответа.

GET Запросить доступность сервиса [GET]

  • Request
            {
https://core.feennex.com/check_status
}
  • Response 200 ()

    • Body
            {
    "status": "OK"
    }
    • Attributes (object)
    • status: ОК (string, required) - Статус доступности сервиса

Регистрация пользователей по API [/account/register]

Вы можете создавать аĸĸаунты для ваших пользователей в Feennex с помощью API. Созданные аĸĸаунты будут иметь настройĸи, ĸоторые задал менеджер.

К сведению!

Для отправки запросов вам нужно выполнить все шаги по подключению

Каĸ это работает

Для создания аĸĸаунта вам нужно отправить POST-запрос в Feennex. В запросе передайте почту пользователя и идентифиĸатор вашего магазина.

К СВЕДЕНИЮ: Актуальный адрес для отправки запросов вам предоставит менеджер.

Feennex в ответе возвращает ID созданного пользователя и отправляет письмо для задания пароля на почту, которую вы передали в запросе. Пользователь переходит по ссылке из письма и задает новый пароль.

POST Пример запроса [POST]

        {
"now": "2025-05-22 15:05:02",
"shop_id": "1234",
"email": "[email protected]",
"sign": "c438896efecd63"
}'
+ Body
{
"now": "2025-05-22 15:05:02",
"shop_id": "1234",
"email": "[email protected]",
"sign": "c438896efecd63"
}
  • Response 200 (application/json)

    • Body
        {
    "data": {
    "account_number": 8000000001,
    "email": "[email protected]"
    },
    "detailed_msg": null,
    "error_code": 0,
    "message": "Ok",
    "result": true
    }
  • Response 200 Пример ответа при ошибке, когда пользователь уже существует

    data (object, required) - Объект содержит данные о созданном аккаунте account_number: 8000000001 (number, optional) - Уникальный номер кошелька пользователя в Feennex. Возвращается, если аккаунт уже существовал email: [email protected] (string, required) - Электронная почта пользователя message: wallet already exists (string, optional) - Сообщение о результате регистрации. Возвращается при ошибке detailed_msg: null (string, optional) - Детализированное сообщение об ошибке error_code: 0 (number, required) - Код ошибки. Возможные значения кодов ошибок message: Ok (string, required) - Описание ошибки result: true (boolean, required) - Успешность запроса.

Group Коды ошибок

Код ошибки возвращается в ответе в параметре error_code.

Пример ответа при ошибке

{
"data": null,
"error_code": 5,
"message": "Payer price amount is too large, max: 100000.0",
"result": false
}

Возможные коды ошибок

Код ошибкиОписаниеПример сообщения об ошибке
1PaywayNotFound: Платежное направление отключено: в настройках ПН отключена опция Статус
2PaywayNotUsed: Платежное направление не используется
3PaywayNotAvailable: Платежное направление недоступноPayway (alias = card_usd) is not available for shop
4AmountTooSmall: Сумма слишком мала
5AmountTooLarge: Сумма слишком велика
6OperationNotUnique: Операция с переданным идентификатором уже существует в системе
7OperationNotFound: Операция не найденаWithdraw (id=1234567) wasn't found
8OperationIsProcessing: У операции значение поля processing равно true. Это происходит, когда внешняя система запрашивает информацию по операции при переопросе статуса у провайдера
9InsufficientBalance: Недостаточный баланс для выполнения операцииInsufficient balance(currency=840): shop_write_off=500.0, balance=0.0
10IncorrectRequestParam: Некорректный параметр запросаInvalid sign, string_to_sign: 500:840:bank_h2h_usd:6199:99991
11ShopNotFound: Магазин не найден
12ShopNotActive: Магазин неактивен
13AccountNotFound: Учетная запись с переданным идентификатором не найдена в базе данных Feennex
14IncorrectAccountStatus: Некорректный статус учетной записи
15RequestIpDenied: IP-адрес запроса отклоненShop ip 111.111.111.111 denied
16InvalidCurrencyExchange: Не удалось конвертировать сумму: нет информации по курсу обмена или задан неверный курс, например 0
17InvalidShopContract: У магазина нет контракта на проведение операций указанного типа
18IncorrectAccountType: Этот тип аккаунта (персональный или бизнес) не может провести указанную операцию
19ShopAggregatorRequire: У магазина настройка is_aggregator имеет значение false
20Устарела
21Устарела
27DailyLimitExceeds. Превышен дневной лимит на выплату
33WeekLimitExceeds: Превышен недельный лимит на выплату
34MonthLimitExceeds: Превышен месячный лимит на выплату
41Сумма не соответствует заданному для ПН регулярному выражению"en": "The payment has been declined. Please try entering another amount without «0» at the end. For example: 347, 1832, 5783.", "ru": "Платеж отклонен. Попробуйте ввести неровную сумму без «0» на конце. Пример: 347, 1832, 5783"
100IncorrectOperationStatus: Нельзя обработать операцию с текущим статусом
2000Другая ошибка, которая не входит в другие категорииService error

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

Если платеж или выплата успешно созданы, в ответе Feennex вернет уникальный идентификатор и статус операции. Платежи и выплаты имеют разные статусы.

Статус может быть финальным и нефинальным. Продолжайте запрашивать статус, пока не вернется один из финальных статусов.

Статусы платежей отличаются в зависимости от того, для какого способа оплаты вы создавали платеж:

Статусы платежа при оплате c кошелька Feennex

СтатусЗначениеОписание
1WaitingПлатеж находится в стадии ожидания действий пользователя
2PaidПлатеж оплачен клиентом. Финальный статус
3CanceledПлатеж отменен клиентом. Финальный статус
4ExpiredИстёк срок жизни счёта. Финальный статус

Статусы платежа при оплате сторонними способами оплаты

СтатусЗначениеОписание
1CreatedПлатеж создан и ожидает обработки
2WaitingПлатеж находится в стадии ожидания действий пользователя
3PsCreatingErrorОшибка создания платежа на стороне платежной системы
4SuccessОплата прошла. Финальный статус
5CallbackErrorУстарел. Не используется для новых платежей
6PsRejectedОтклонен на стороне платежной системы. Финальный статус
7RefundedСумма счета возвращена плательщику платежной системой. Финальный статус
8HoldОт платежной системы получен колбэк с неуспешным статусом платежа, кроме Recalculated
9pspRefundedСумма счета возвращена плательщику системой Feennex. Финальный статус
10CapturedСредства по оплате счета заблокированы платежной системойx
11RefundingСредства по оплате счета в процессе возврата: отправлен запрос в платежную систему на возврат средств
12RecalculatedСумма по оплате счета была пересчитана. Финальный статус. Пользователь при оплате счета отправил другую сумму вместо той, которая была указана при создании счета. Подробнее про действия при неверной сумме платежа

Статусы выплат

Статусы в выплатах отличаются в зависимости от того, куда переводятся деньги.

Статусы выплат на кошелек Feennex

У выплаты на кошелек нет статуса. Если в ответе возвращается параметр id (уникальный идентификатор выплаты), это означает, что выплата прошла. Вам не нужно дополнительно запрашивать статус выплаты.

Статусы выплат на счет в сторонней системе

Если выплата успешна создана, то в ответе вернется уникальный идентификатор выплаты и ее статус.

Статус может быть финальным и нефинальным. Продолжайте запрашивать статус платежа, пока не получите один из финальных статусов.

СтатусЗначениеОписание
1CreatedВыплата создана и ожидает обработки
2WaitingManualConfirmationВыплата требует ручного подтверждения со стороны оператора
3PsProcessingВыплата отправлена в платежную систему
4PsProcessingErrorОшибка при выплате на стороне платежной системы. Попробуйте запросить статус позже или обратитесь в поддержку
5SuccessВыплата завершена. Деньги списаны со счета вашего магазина. Финальный статус
6RejectedОтклонена на стороне платежной системы. Средства не списаны со счета магазина. Финальный статус
7ManualConfirmedВыплата подтверждена оператором и ожидает проведения
9PsNetworkErrorСетевая ошибка на стороне платежной системы
10CanceledManuallyВывод отменен на стороне системы Feennex в ручном режиме. Финальный статус
11RefundedВывод завершился успешно

Статусы чеков

Обратите внимание! Чеки нужны только для способа оплаты Перевод на банковский счет, когда плательщик провел оплату, а статус платежа не поменялся.

Чек, который вы передали в техническую поддержку с помощью метода Отправка чеков, может иметь один из следующих статусов:

СтатусОписание
pendingЧек получен и проверяется.
succeedЧек успешно проверен. Статус не говорит, о том, что перевод прошел.
rejectedПроверка чека не прошла.

Чтобы узнать статус чека, периодически отправляйте запросы на Получение статуса чека

Group Дocтупные валюты

В таблице приведены основные валюты, которые поддерживает Feennex. Для каждой валюты указан код по стандарту ISO-4217. Полный список поддерживаемых валют вам выдаст менеджер.

КодНазвание валюты
398Казахстанский тенге
417Кыргызский сом
643Российский рубль
840Доллар США
860Узбекский сум
944Азербайджанский манат
949Турецкая лира
978Евро
980UAH

Group Термины

ТерминОписание
Перевод на банковский счетСторонний способ оплаты, когда плательщик пополняет указанный на странице оплаты банковский счет
FeennexFeennex — решение для электронных платежей, позволяющее принимать платежи и проводить выплаты
МерчантУчастник, который принимает платежи
ПлательщикУчастник, который проводит оплату
ПлатежОдна из основных сущностей. Feennex API. Платеж нужен для проведения платежей. Содержит статус, по которому можно узнать, в каком состоянии находится платеж. Подробнее про статусы платежей
Платежное направлениеПуть , по которому проходит платеж. Каждое направление имеет свои собственные лимиты и поддерживаемую валюту
ВыплатаОдна из основных сущностей Feennex API. Выплата нужна для перевода денег со счета магазина вашим клиентам
Платежная страницаСтраница, на которой плательщик проводит оплату. Если вы используете самостоятельную интеграцию, эту страницу нужно реализовать самостоятельно

Group Логотипы Feennex

Feennex Logo

Feennex Medium Logo

Feennex Small Logo

В репозитории все 3 варианта логотипа в форматах .png

Group История изменений API

ДатаСобытие
27.02.2025Изменения для способа оплаты Перевод на банковский счет. Теперь Feennex может предлагать плательщику перевести рекомендуемую сумму. Перевод рекомендуемой суммы повысит скорость зачисления средств.Если вы используете Самостоятельную интеграцию, вам нужно доработать вашу систему. Для других сценариев интеграции делать ничего не нужно.
16.01.2025Feennex временно отправляет входящие уведомления (callback) в формате raw data вместо JSON
10.12.2024Добавлена новая причина ошибки 41, которая возвращается, если сумма операции не соответствует регулярному выражению. Это выражение задается в административной панели в разделе Платежные системы > Управление ПН
27.11.2024Обновлен список IP-адресов, с которых Feennex может присылать уведомления
02.10.2024Запуск новой документации

Group Контакты

Если у вас остались вопросы, обратитесь к менеджеру или на [email protected]