Создание выплаты
Общие рекомендации по работе с API для создания выплат
Убедитесь, что Ваш магазин активирован и настроен для работы по API: получен ID магазина, указан URL взаимодействия, сгенерирован секретный ключ и указаны IP адреса ваших сервисов. Payway платежных направлений для совершения выплат и их особенности работы Вы можете найти в личном кабинете в настройках магазина в разделе «Направления вывода».
Процесс совершения выплаты с магазина выглядит следующим образом:
- Отправляется запрос на предварительный расчет и получении дополнительных параметров для дальнейшего создания выплаты, метод
withdraw/try; - Если
result == ok, отправляется запрос на предварительную проверку существования и возможности пополнения аккаунта, по указанному платежному направлению (при необходимости указываются дополнительные параметры, полученные из предыдущего запроса изaccount_info_config); - При получении
result == true, отправляется запрос на создание выплаты по проверенному аккаунту (с указанной дополнительной информацией вaccount_info_config, при необходимости). При полученииresult==error, необходимо анализировать сообщение об ошибке вmessage. - В ответе возвращается информация с созданной заявкой на выплату, с указанием сумм и идентификатором выплаты. При этом происходит замораживание части баланса на кошельке магазина, с которого осуществляется выплата, до получения финального статуса по выплате.
- После создания выплаты, необходимо делать запрос статуса по созданной выплате, до получения финального состояния.
- После получения финального статуса выплата считается завершенной и средства списываются с баланса магазина (или возвращаются на баланс, если выплату завершить не удалось).
Предварительный расчет выплаты [/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 | валюта списания с магазина | Integer | 980 - Украинская гривна, 840 - Доллар США, 978 - Евро |
shop_id | идентификатор магазина, с которого осуществляется выплата | Integer | 112 |
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 | идентификатор магазина, с которого осуществляется выплата | Integer | 112 |
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 | валюта списания с магазина | Integer | 980 - Украинская гривна, 840 - Доллар США, 978 - Евро |
shop_id | идентификатор магазина, с которого осуществляется выплата | Integer | 1 |
shop_payment_id | уникальный идентификатор платежа на стороне магазина | String | "2e18aadc-cf87-4cdd-9a08-9a57f9ac4066" |
callback_url | URL для приема уведомления по операции (необязательный параметр, подробно об уведомлениях по выплатам) | 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 | идентификатор магазина в системе Qostiq | Integer | 112 |
withdraw_id | уникальный идентификатор выплаты на стороне Qostiq (возвращается в параметре id при успешно созданной выплате) | Integer | 11298076 |
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 | идентификатор магазина в системе Qostiq | Integer | 112 |
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 | Значение | Описание | Финальный? |
|---|---|---|---|
| 1 | Created | Платеж создан, ожидает обработки | Нет, делать запрос статуса |
| 2 | WaitingManualConfirmation | Ожидает ручного подтверждения оператора | Нет, делать запрос статуса |
| 3 | PsProcessing | Отправлен на платежную систему | Нет, делать запрос статуса |
| 4 | PsProcessingError | Ошибка при выплате на стороне платежной системы | Нет, делать запрос статуса или обратиться в поддержку |
| 5 | Success | Успешно выполнен | Да, средства списаны с магазина |
| 6 | Rejected | Отклонен на стороне платежной системы | Да, средства не списаны с магазина |
| 7 | ManualConfirmed | Подтвержден оператором и ожидает проводки | Нет, делать запрос статуса |
| 9 | PsNetworkError | Сетевая ошибка на стороне платежной системы | Нет, делать запрос статуса |
| 10 | CanceledManually | Вывод отменен вручную на стороне системы Qostiq | Да, финальный статус |
| 11 | Refunded | Успешный вывод отменен вручную на стороне системы 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 | идентификатор магазина в системе Qostiq | Integer | 1 |
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 | идентификатор магазина в системе Qostiq | Integer | 1 |
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 | идентификатор магазина в системе Qostiq | Integer | 3 |
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
}
Где,
| Параметр | Описание |
|---|---|
id | ID платежного метода |
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 | идентификатор магазина в системе Qostiq | Integer | 3 |
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
}
Где,
| Параметр | Описание |
|---|---|
id | ID платежного метода |
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
}