Перейти к основному содержимому

Создание выплаты

Общие рекомендации по работе с API для создания выплат

Убедитесь, что Ваш магазин активирован и настроен для работы по API: получен ID магазина, указан URL взаимодействия, сгенерирован секретный ключ и указаны IP адреса ваших сервисов. Payway платежных направлений для совершения выплат и их особенности работы Вы можете найти в личном кабинете в настройках магазина в разделе «Направления вывода».

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

  1. Отправляется запрос на предварительный расчет и получении дополнительных параметров для дальнейшего создания выплаты, метод withdraw/try;
  2. Если result == ok, отправляется запрос на предварительную проверку существования и возможности пополнения аккаунта, по указанному платежному направлению (при необходимости указываются дополнительные параметры, полученные из предыдущего запроса из account_info_config);
  3. При получении result == true, отправляется запрос на создание выплаты по проверенному аккаунту (с указанной дополнительной информацией в account_info_config, при необходимости). При получении result==error, необходимо анализировать сообщение об ошибке в message.
  4. В ответе возвращается информация с созданной заявкой на выплату, с указанием сумм и идентификатором выплаты. При этом происходит замораживание части баланса на кошельке магазина, с которого осуществляется выплата, до получения финального статуса по выплате.
  5. После создания выплаты, необходимо делать запрос статуса по созданной выплате, до получения финального состояния.
  6. После получения финального статуса выплата считается завершенной и средства списываются с баланса магазина (или возвращаются на баланс, если выплату завершить не удалось).

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

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

URL: https://core.qostiq.com/withdraw/try

Метод: POST

Обязательные параметры: amount_type, shop_currency, payway, amount, shop_id, sign

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

{
"amount_type": "ps_amount",
"shop_currency": 980,
"sign": "f97c52fa8d273a9d3ad37e86e6dab314a592281654104ac9f348f386c29a2953",
"payway": "card_uah",
"amount": 0.5,
"shop_id": 112
}

Где,

ПараметрОписаниеФорматПример
amountсумма получения или списания (зависит от amount_type)Number (Не больше 2х знаков после точки)1, 1.0, 1.00 или "1.00"
amount_typeуказывает на тип суммы, возможны значения: ps_amount – сумма к получению в платежной системе, shop_amount – сумма к списанию с баланса магазинаString"ps_amount" или "shop_amount"
paywayнаправление для выплаты, можно узнать в личном кабинете или у курирующего менеджера. Валюта получения зависит от указанного направления для выплатыString"card_uah"
shop_currencyвалюта списания с магазинаInteger980 - Украинская гривна, 840 - Доллар США, 978 - Евро
shop_idидентификатор магазина, с которого осуществляется выплатаInteger112
signсформированная подписьString"f97c52fa8d273a9d3ad37e86e6dab314a592281654104ac9f348f386c29a2953"

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

{
"data": {
"account_info_config": {
"account": {
"regex": "^((4|5|6)[0-9]{15,17}|[a-z0-9]{32})$",
"title": "Номер карты без пробелов"
}
},
"info": {},
"payee_receive": 1,
"ps_currency": 980,
"shop_currency": 980,
"shop_write_off": 1.01
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
account_info_configинформация об аккаунте, в том числе регулярное выражение, которому должен соответствовать аккаунт. Также может возвращаться информация о дополнительных параметрах, для передачи их по платежному направлению
titleназвание поля аккаунта
regexрегулярное выражение для аккаунта
ps_currencyвалюта платежного направления для вывода, формат: международные коды валют, 980
payee_receiveсумма к получению в платежной системе, в валюте платежного направления
shop_currencyвалюта кошелька магазина, с которого производится выплата
shop_write_offсумма списания с баланса магазина, в валюте кошелька

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

для демонстрации запроса в правом окне смените Production на Mock Server

  • Request (application/json)
{
"amount_type": "ps_amount",
"shop_currency": 980,
"sign": "f97c52fa8d273a9d3ad37e86e6dab314a592281654104ac9f348f386c29a2953",
"payway": "card_uah",
"amount": 1,
"shop_id": 112
}
  • Response 200 ()
{
"data": {
"account_info_config": {
"account": {
"regex": "^((4|5|6)[0-9]{15,17}|[a-z0-9]{32})$",
"title": "Номер карты без пробелов"
}
},
"payee_receive": 1,
"ps_currency": 980,
"shop_currency": 980,
"shop_write_off": 1.02
},
"error_code": 0,
"message": "Ok",
"result": true
}

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

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

URL: https://core.qostiq.com/check_account

Метод: POST

Обязательные параметры: shop_id, sign, payway, account, amount

Если в ответе withdraw/try в поле account_info_config были дополнительные параметры, кроме account, они должны передаваться в поле account_details (в формировании подписи не участвует)

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

{
"account": "test_acc",
"account_details": {
"contract": "C1234"
},
"sign": "faf7ee6db712752f2b107e05328bbd0d",
"payway": "card_uah",
"amount": 10.5,
"shop_id": 1
}

Где,

ПараметрОписаниеФорматПример
amountсумма планируемого зачисления на аккаунт в валюте платежного направленияNumber (Не больше 2х знаков после точки)1, 1.0, 1.00 или "1.00"
accountосновной аккаунт для проверки на возможность пополненияString"4111111111111111"
paywayнаправление для выплаты, можно узнать в личном кабинете или у курирующего менеджераString"card_uah"
shop_idидентификатор магазина, с которого осуществляется выплатаInteger112
signсформированная подписьString"f97c52fa8d273a9d3ad37e86e6dab314a592281654104ac9f348f386c29a2953"

account_details – дополнительная, обязательная информация для проверки аккаунта, в данном примере это contract – номер договора аккаунта.

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

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

Где,

ПараметрОписание
resultрезультат проверки возможности пополнения на аккаунт
provider_statusстатус ответа провайдера: 1 — доступен, проверка прошла без ошибок; 2 — ошибка на провайдере, результат неизвестен; 3 — ошибка при обработке, результат неизвестен
account_infoдополнительная информация от провайдера, например ФИО владельца аккаунта

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

  • Request (application/json)
{
"account": "4111111111111111",
"sign": "fcf9544776bb27ddd4b0b48482a4e0c35b0c54b7db5b7ea2553c2e2ac350d536",
"payway": "card_uah",
"amount": 1,
"shop_id": 112
}
  • Response 200 ()
{
"data": {
"account_info": null,
"provider_status": 1,
"result": true
},
"error_code": 0,
"message": "Ok",
"result": true
}

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

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

URL: https://core.qostiq.com/withdraw/create

Метод: POST

Обязательные параметры: account, amount_type, amount, payway, shop_currency, shop_id, shop_payment_id, sign

Shop_payment_id должен быть уникальным для каждого нового платежа.

В запросе могут передаваться дополнительные параметры, например, description – описание выплаты, или account_details – дополнительная информация по аккаунту для выплаты (зависит от платежного направления).

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

{
"account": "test acc",
"amount": 1,
"amount_type": "ps_amount",
"payway": "card_uah",
"shop_currency": 840,
"shop_id": 1,
"shop_payment_id": "2e18aadc-cf87-4cdd-9a08-9a57f9ac4066",
"sign": "9505e9fa97e8910a8b1d2797c348aae5d35f7846ad901cc5fc91d2afbdc978e3"
}
ПараметрОписаниеФорматПример
accountаккаунт получателя средств в платежной системе, например номер картыString"4111111111111111"
amountсумма получения или списания (зависит от amount_type)Number (Не больше 2х знаков после точки)1, 1.0, 1.00 или "1.00"
amount_typeуказывает на тип суммы: ps_amount – сумма к получению в платежной системе, shop_amount – сумма к списанию с баланса магазинаString"ps_amount" или "shop_amount"
paywayнаправление для выплаты, можно узнать в личном кабинете или у курирующего менеджераString"card_uah"
shop_currencyвалюта списания с магазинаInteger980 - Украинская гривна, 840 - Доллар США, 978 - Евро
shop_idидентификатор магазина, с которого осуществляется выплатаInteger1
shop_payment_idуникальный идентификатор платежа на стороне магазинаString"2e18aadc-cf87-4cdd-9a08-9a57f9ac4066"
callback_urlURL для приема уведомления по операции (необязательный параметр, подробно об уведомлениях по выплатам)String"https://shop.com/withdraw/callback"

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

{
"account": "test acc",
"account_details": {
"fname": "ksu",
"lname": "ksu"
},
"amount": 1,
"amount_type": "ps_amount",
"description": "Test desc",
"email": "test@email.com",
"payway": "card_uah",
"shop_currency": 840,
"shop_id": 1,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026fe",
"sign": "2d9270de3c0ae94ff6571991cc2ea3a3e1c4c53265e2e76a74f1f76e4d465127"
}

Где,

ПараметрОписание
account_detailsдополнительный параметр для детализации информации по аккаунту получателя (зависит от выбранного направления). Список полей можно посмотреть в личном кабинете по каждому направлению
descriptionописание выплаты, сохраняется в истории платежа и передается в назначении, если платежная система имеет такую функцию
emailдополнительный параметр, не участвует в формировании подписи

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

{
"data": {
"balance": 0.0,
"id": 1,
"payee_receive": 1,
"ps_currency": 840,
"shop_currency": 840,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026fe",
"shop_write_off": 1.05,
"status": 5
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
balanceбаланс магазина после успешного создания выплаты
idуникальный идентификатор платежа на стороне Qostiq
payee_receiveсумма к получению на счет в валюте ps_currency
ps_currencyвалюта получения на счет суммы payee_receive
shop_currencyвалюта списания с магазина суммы shop_write_off
shop_payment_idуникальный идентификатор платежа на стороне магазина
shop_write_offсумма списания с магазина в валюте shop_currency
statusстатус выплаты

Рекомендации по отправке запросов на создание и проверку выплат:

1. Если на запрос создания выплаты получили time out, то необходимо сделать запрос статуса по номеру платежа магазина /withdraw/shop_payment_status и, если в ответе вернулась ошибка, что такого платежа нет, можно повторить запрос на создание выплаты. Если в ответе вернулся статус выплаты, то значит она была создана и надо ориентироваться на данный статус.

2. Рекомендуемая частота проверки статуса платежей – не чаще чем 1 запрос в 60 секунд, т.к. многим платежным системам также требуется время на обработку платежа.

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

Вывести средства с магазина [POST]

для демонстрации запроса в правом окне смените Production на Mock Server

  • Request (application/json)
{
"account": "test_acc",
"amount": 1,
"amount_type": "ps_amount",
"payway": "card_uah",
"shop_currency": 980,
"shop_id": 112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"sign": "b4c3ca4b403bb065db1fe716b9cbf5138e3dabc7bc5d385750b3fa852ed97d46"
}
  • Response 200 ()
{
"data": {
"balance": 0.0,
"id": 11298076,
"payee_receive": 1,
"ps_currency": 980,
"shop_currency": 980,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 3
},
"error_code": 0,
"message": "Ok",
"result": true
}

Запрос статуса по withdraw_id [/withdraw/status]

URL: https://core.qostiq.com/withdraw/status

Метод: POST

Обязательные параметры: now, shop_id, withdraw_id

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

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

{
"now": "2017-05-16 16:56:25.009469",
"shop_id": 112,
"withdraw_id": 11298076,
"sign": "e1dfc97b2c5430e21be08b1140f25259aa1865d56e166ee398c2368ad39712f7"
}

Где,

ПараметрОписаниеФорматПример
nowвремя запросаString"2017-05-16 16:56:25.009469"
shop_idидентификатор магазина в системе QostiqInteger112
withdraw_idуникальный идентификатор выплаты на стороне Qostiq (возвращается в параметре id при успешно созданной выплате)Integer11298076
signподписьString"e1dfc97b2c5430e21be08b1140f25259aa1865d56e166ee398c2368ad39712f7"

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

{
"data": {
"id": 11298076,
"payee_receive": 1,
"ps_currency": 980,
"rejected_reason": "Номер карты не существует. Пожалуйста, проверьте правильность номера",
"shop_currency": 980,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f11",
"shop_write_off": 1.02,
"status": 6
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
statusактуальный статус выплаты (см. таблицу «Статусы выплаты»)
shop_payment_idидентификатор выплаты на стороне магазина
shop_currencyвалюта магазина
ps_currencyвалюта получения в платежной системе
payee_receiveсумма зачисленная на баланс получателя в валюте ps_currency
shop_write_offсумма списания с магазина в валюте shop_currency
idуникальный идентификатор выплаты в системе Qostiq
rejected_reasonпричина отмены выплаты

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

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

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

  • Request (application/json)
{
"now": "2017-01-23 16:56:25.009469",
"shop_id": 112,
"withdraw_id": 11298076,
"sign": "e1dfc97b2c5430e21be08b1140f25259aa1865d56e166ee398c2368ad39712f7"
}
  • Response 200 ()
{
"data": {
"id": 11298076,
"payee_receive": 1,
"ps_currency": 980,
"shop_currency": 980,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 5
},
"result": true,
"error_code": 0,
"message": "Ok"
}

Запрос статуса по shop_payment_id [/withdraw/shop_payment_status]

URL: https://core.qostiq.com/withdraw/shop_payment_status

Метод: POST

Обязательные параметры: now, shop_payment_id, shop_id

Данный запрос позволяет получить статус выплаты по идентификатору транзакции магазина shop_payment_id

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

{
"shop_id": 112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"now": "2011-12-06 16:07:28.878200",
"sign": "a1ab593500a4ab146abe33121ad9f08397beaef5f4ba9279ca6e1eee1c6b0bc1"
}

Где,

ПараметрОписаниеФорматПример
nowвремя запросаString"2011-12-06 16:07:28.878200"
shop_idидентификатор магазина в системе QostiqInteger112
shop_payment_idидентификатор транзакции на стороне магазинаString"63288d86-241c-418e-94b8-db4bbf5026f"
signподписьString"e1dfc97b2c5430e21be08b1140f25259aa1865d56e166ee398c2368ad39712f7"

Параметры ответа:

ПараметрОписание
statusактуальный статус выплаты (см. таблицу «Статусы выплаты»)
shop_payment_idидентификатор выплаты на стороне магазина
shop_currencyвалюта магазина
ps_currencyвалюта получения в платежной системе
payee_receiveсумма зачисленная на баланс получателя в валюте ps_currency
shop_write_offсумма списания с магазина в валюте shop_currency
idуникальный идентификатор выплаты в системе Qostiq

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

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

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

  • Request (application/json)
{
"shop_id": 112,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"now": "2011-12-06 16:07:28.878200",
"sign": "a1ab593500a4ab146abe33121ad9f08397beaef5f4ba9279ca6e1eee1c6b0bc1"
}
  • Response 200 ()
{
"data": {
"id": 11298076,
"payee_receive": 1,
"ps_currency": 980,
"shop_currency": 980,
"shop_payment_id": "63288d86-241c-418e-94b8-db4bbf5026f",
"shop_write_off": 1.02,
"status": 5
},
"result": true,
"error_code": 0,
"message": "Ok"
}

Уведомление по выплате [/withdraw/callback]

После финализации выплаты, система Qostiq производит отправку уведомления магазину на указанный в настройках URL взаимодействия.

Также URL для приема уведомления по выплате можно передать в дополнительном параметре callback_url в запросе создания выплаты /withdraw/create.

Уведомления отправляются с IP-адресов:

  • 34.90.243.164
  • 34.147.48.238
  • 34.90.176.128
  • 34.90.34.134
  • 35.242.192.50
  • 34.90.247.48
  • 34.90.185.30
  • 34.147.69.92
  • 35.198.183.103
  • 35.234.123.199
  • 34.159.7.106

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

Важно! Всегда сверяйте суммы операции и номера операций - shop_payment_id, shop_write_off, payee_receive при получении уведомления.

Метод: POST, Content-Type=application/json

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

{
"account_details": {
"customer_id": "12345678"
},
"callback_type": "withdraw",
"created": "2024-11-18 13:41:57",
"description": "example",
"payee_receive": 10.5,
"payment_id": 64045,
"payway": "card_usd",
"processed": "2024-11-18 13:45:38",
"ps_currency": 840,
"shop_currency": 840,
"shop_id": 1,
"shop_payment_id": "12345678",
"shop_write_off": 11.5,
"sign": "e02baf7a7be1c591f2ad8f44dc25e7df8324bef1f109765659b3633839441584",
"status": "success"
}

Где,

ПараметрОписание
callback_typeтип операции, по которой пришло уведомление: withdraw для фиатной выплаты
createdдата и время создания выплаты
descriptionописание выплаты, переданное при создании
payee_receiveсумма к получению на счет в валюте ps_currency
payment_idуникальный идентификатор выплаты на стороне Qostiq
paywayплатежное направление в системе Qostiq, по которому создана выплата
processedдата и время изменения статуса выплаты
ps_currencyвалюта получения на счет суммы payee_receive
shop_currencyвалюта списания с магазина суммы shop_write_off
shop_idуникальный идентификатор магазина, который создал выплату
shop_payment_idуникальный идентификатор платежа магазина, который создал выплату
shop_write_offсумма списания с магазина в валюте shop_currency
signподпись
statusстатус выплаты: success — выплата успешна, rejected — выплата отклонена
test_add_onлюбой пользовательский параметр, переданный магазином при создании выплаты

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

При корректном получении и обработке уведомления, необходимо вернуть в ответ http статус 200 и тело сообщения OK. В ином случае уведомления будут высылаться повторно, с увеличивающемся интервалом, всего 25 попыток, последнее по истечении суток.

Пример строки, по которой необходимо сгенерировать подпись

{"customer_id":"12345678"}:withdraw:2024-11-18 13:41:57:example:10.5:64045:card_usd:2024-11-18 13:45:38:840:840:1:12345678:11.5:successTestkey1

Пример уведомления по успешному платежу [POST]

  • Request (application/json)
{
"account_details": {"customer_id": "12345678"},
"callback_type": "withdraw",
"created": "2024-11-18 13:41:57",
"description": "example",
"payee_receive": 10.5,
"payment_id": 64045,
"payway": "card_usd",
"processed": "2024-11-18 13:45:38",
"ps_currency": 840,
"shop_currency": 840,
"shop_id": 1,
"shop_payment_id": "12345678",
"shop_write_off": 11.5,
"sign": "e02baf7a7be1c591f2ad8f44dc25e7df8324bef1f109765659b3633839441584",
"status": "success"
}
  • Response 200 ()

      OK

Пример уведомления по неуспешному платежу [POST]

  • Request (application/json)
{
"account_details": {"customer_id": "12345678"},
"callback_type": "withdraw",
"created": "2024-11-18 13:41:57",
"description": "example",
"payee_receive": 10.5,
"payment_id": 64045,
"payway": "card_usd",
"processed": "2024-11-18 13:45:38",
"ps_currency": 840,
"shop_currency": 840,
"shop_id": 1,
"shop_payment_id": "12345678",
"shop_write_off": 11.5,
"sign": "e02baf7a7be1c591f2ad8f44dc25e7df8324bef1f109765659b3633839441584",
"status": "rejected"
}
  • Response 200 ()

      OK

Статусы выплат [/withdraw/allstatuses]

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

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

Возвращение неуспешного статуса по запросу [POST]

  • Request (application/json)
{
"now": "2020-01-19 15:11:18.34",
"shop_id": "112",
"sign": "e007c7641984e74620de9ee0f151aca845f0e0be1a96743ea154db9f0a2853ab",
"withdraw_id": "25161103"
}
  • Response 200 ()
{
"data": null,
"error_code": 7,
"message": "Withdraw (id=25161103) wasn't found",
"result": false
}

Прочие методы по магазину

Запрос на регистрацию аккаунта [/registration]

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

URL: https://core.qostiq.com/account/register

Метод: POST

Обязательные параметры: now, shop_id, email

Формат даты - dd.mm.YYYY hh:mm:ss

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

{
"shop_id": 1,
"now": "30.06.2017 10:12:44",
"email": "example@email.com",
"sign": "32b2c32caa8adecf89c6dfa72ffca3a0506f33febfe3aaab090cdbfbd0e8b953"
}

Где, обязательные параметры:

ПараметрОписаниеФорматПример
nowвремя запросаString"30.06.2017 10:12:44"
shop_idидентификатор магазина в системе QostiqInteger1
emailпочта регистрации кошелькаString"example@email.com"
signподписьString"32b2c32caa8adecf89c6dfa72ffca3a0506f33febfe3aaab090cdbfbd0e8b953"

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

{
"data": {
"account_number": "201499789419",
"email": "example@email.com"
},
"error_code": 0,
"message": "Ok",
"result": true
}

Отправить запрос на регистрацию аккаунта [POST]

  • Request (application/json)
{
"now": "30.06.2017 10:12:44",
"email": "nevu77@carbtc.net",
"shop_id": 3,
"sign": "bd4889102893c7f764c95ae3ed30b1d4fcb4fc01ca2ccbe5344b50ffdb64fe73"
}
  • Response 200 ()
{
"data": {
"account_number": "201499789419",
"email": "example@email.com"
},
"error_code": 0,
"message": "Ok",
"result": true
}

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

Для получения актуального баланса по магазину

URL: https://core.qostiq.com/shop_balance

Метод: POST

Обязательные параметры: now, shop_id

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

{
"now": "2017-05-17 10:48:45.509731",
"shop_id": 1,
"sign": "361f6310a04ef858df0847d1e2f6669ea61159a5c80d0ed6dcf17329751b4ef9"
}

Где,

ПараметрОписаниеФорматПример
nowвремя запросаString"2017-05-17 10:48:45.509731"
shop_idидентификатор магазина в системе QostiqInteger1
signподписьString"361f6310a04ef858df0847d1e2f6669ea61159a5c80d0ed6dcf17329751b4ef9"

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

{
"data": {
"shop_id": 1,
"balances": [
{
"available": 28.1,
"currency": 980,
"hold": 0.0,
"frozen": 20.0,
"rolling_reserve": 15.0
},
{
"available": 0.0,
"currency": 978,
"hold": 0.0,
"frozen": 0.0,
"rolling_reserve": 15.0
},
{
"available": 0.0,
"currency": 840,
"hold": 0.0,
"frozen": 0.0,
"rolling_reserve": 15.0
}
]
},
"result": true,
"error_code": 0,
"message": "Ok"
}

Где,

ПараметрОписание
balancesбаланс магазина в разрезе валют
currencyвалюта баланса (формат: 980, 840, 978)
availableдоступный баланс магазина
frozenзамороженные средства на балансе, например, под созданную выплату, которая находится в обработке
holdвременно удержанные средства, например, при проверке входящего поступления
rolling_reserveвременное удержание денежных средств на балансе магазина

Общий баланс магазина соответствует сумме available, frozen и hold в указанной валюте. Для выплат доступны средства available за исключением rolling_reserve.

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

  • Request (application/json)
{
"now": "2017-12-06 12:31:19.500060",
"shop_id": 112,
"sign": "77c6cc948751ee5c13a68e5301c1f85f222e9e3333f4fefb987eb9632732c90b"
}
  • Response 200 ()
{
"data": {
"shop_id": 112,
"balances": [
{
"available": 28.1,
"currency": 980,
"hold": 0.0,
"frozen": 20.0
},
{
"available": 0.0,
"currency": 978,
"hold": 0.0,
"frozen": 0.0
},
{
"available": 0.0,
"currency": 840,
"hold": 0.0,
"frozen": 0.0
}
]
},
"result": true,
"error_code": 0,
"message": "Ok"
}

Получение доступных методов Invoice [/available_payment_methods_invoice]

URL: https://core.qostiq.com/shop_input_config/shop

Метод: POST

Обязательные параметры: now, shop_id

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

{
"now": "03.09.2018 11:19:55",
"shop_id": 3,
"sign": "588485c9d7f0d7fb3445e620450ca303ae11e35e159002bc33d2174398f9134c"
}

Где:

ПараметрОписаниеФорматПример
nowвремя запросаString"2018-06-15 09:58:01.01"
shop_idидентификатор магазина в системе QostiqInteger3
signподписьString"588485c9d7f0d7fb3445e620450ca303ae11e35e159002bc33d2174398f9134c"

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

{
"data": [
{
"id": 3,
"name": "Visa/MC",
"payways": [
{
"add_ons_config": null,
"alias": "card_uah",
"currency": 980,
"fee_config": {
"fix": 0.0,
"percent": 6.0
},
"fee_part_config": {
"fix_part": 0,
"percent_part": 1.0
},
"id": 154,
"is_active": true,
"max_amount": 100000.0,
"min_amount": 1.0
}
],
"rating": 2
}
],
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
idID платежного метода
nameнаименование платежного метода
paywaysплатежные направления, которые включены магазину
add_ons_configдополнительная информация, если она требуется по платежному направлению
aliasнаименование платежного направления
currencyвалюта в разрезе платежного направления (формат: 980, 840, 978)
fee_configразмер комиссии
fixфиксированная комиссия
percentпроцентная комиссия
fee_part_configнастройки распределения комиссии между магазином и плательщиком
fix_partраспределение фиксированной комиссии (0 — на плательщике, 1 — на магазине)
percent_partраспределение процентной комиссии (0.0–1.0)
is_activeстатус активации
max_amountмаксимальная сумма платежа в разрезе направления
min_amountминимальная сумма платежа в разрезе направления

Запросить платежные методы доступные магазину Invoice [POST]

  • Request (application/json)
{
"now": "03.09.2018 11:19:55",
"shop_id": 3,
"sign": "588485c9d7f0d7fb3445e620450ca303ae11e35e159002bc33d2174398f9134c"
}
  • Response 200 ()
{
"data": [
{
"id": 3,
"name": "Visa/MC",
"payways": [
{
"add_ons_config": null,
"alias": "card_uah",
"currency": 980,
"fee_config": {
"fix": 0.0,
"percent": 6.0
},
"fee_part_config": {
"fix_part": 0,
"percent_part": 1.0
},
"id": 154,
"is_active": true,
"max_amount": 100000.0,
"min_amount": 1.0
}
],
"rating": 2
}
],
"error_code": 0,
"message": "Ok",
"result": true
}

Получение доступных методов Withdraw [/available_payment_methods_withdraw]

URL: https://core.qostiq.com/shop_output_config/shop

Метод: POST

Обязательные параметры: now, shop_id

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

{
"now": "03.09.2018 11:19:55",
"shop_id": 3,
"sign": "588485c9d7f0d7fb3445e620450ca303ae11e35e159002bc33d2174398f9134c"
}

Где,

ПараметрОписаниеФорматПример
nowвремя запросаString"2018-06-15 09:58:01.01"
shop_idидентификатор магазина в системе QostiqInteger3
signподписьString"588485c9d7f0d7fb3445e620450ca303ae11e35e159002bc33d2174398f9134c"

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

{
"data": [
{
"id": 1,
"name": "Visa/MC",
"payways": [
{
"account_info_config": {
"account": {
"regex": "^(4|5|6)[0-9]{15,17}$",
"title": "Номер карты"
}
},
"alias": "card_uah",
"currency": 980,
"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": "Qostiq",
"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": "qostiq_usd",
"currency": 980,
"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
}

Где,

ПараметрОписание
idID платежного метода
nameнаименование платежного метода
paywaysплатежные направления, которые включены магазину
account_info_configдополнительная информация, если она требуется по платежному направлению
aliasнаименование платежного направления
currencyвалюта в разрезе платежного направления (формат: 980, 840, 978)
fee_configразмер комиссии
fixфиксированная комиссия
percentпроцентная комиссия
fix_partраспределение фиксированной комиссии (0 — на плательщике, 1 — на магазине)
percent_partраспределение процентной комиссии (0.0–1.0)
is_activeстатус активации
max_amountмаксимальная сумма платежа в разрезе направления
min_amountминимальная сумма платежа в разрезе направления
is_transfer_configпризнак, указывающий что это Transfer (перевод на кошельки Qostiq) — для выплат нужно использовать метод API transfer

Запросить доступные методы Withdraw [POST]

  • Request (application/json)
{
"now": "03.09.2018 11:19:55",
"shop_id": 3,
"sign": "588485c9d7f0d7fb3445e620450ca303ae11e35e159002bc33d2174398f9134c"
}
  • Response 200 ()
{
"data": [
{
"id": 1,
"name": "Visa/MC",
"payways": [
{
"account_info_config": {
"account": {
"regex": "^(4|5|6)[0-9]{15,17}$",
"title": "Номер карты"
}
},
"alias": "card_uah",
"currency": 980,
"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": "Qostiq",
"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": "qostiq_usd",
"currency": 980,
"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
}