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

Операции с кошельком Qostiq

Выставление счетов Bill [/bill/create]

Bill - Этот метод позволяет выставлять счета для оплаты при помощи кошельков Qostiq wallet.

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

Метод: POST

Обязательные параметры: shop_amount, shop_currency, shop_id, shop_order_id, payer_currency

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

В запросе могут передаваться дополнительные параметры, например, description – описание счета, или payer_account – email/номер кошелька аккаунта плательщика в системе Qostiq

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

{
"description": "Test Bill",
"payer_currency": 980,
"shop_amount": "23.15",
"shop_currency": 980,
"shop_id": "112",
"shop_order_id": 4239,
"sign": "ad7fbe8df102bc70e28deddba8b45bb3f4e6cafdaa69ad1ecc0e8b1d4e770575"
}
ПараметрОписаниеФорматПример
shop_idидентификатор магазина в системе QostiqInteger5
shop_amountсумма выставленного счетаNumber (Не больше 2х знаков после точки)1, 1.0, 1.00 или "1.00"
shop_currencyвалюта выставленного счета (зачисления на магазин)Integer980 - Украинская гривна, 840 - Доллар США, 978 - Евро
payer_currencyвалюта оплаты плетельщиком (валюта списания с плательщика в системе Qostiq, может отличаться от валюты магазина)Integer980 - Украинская гривна, 840 - Доллар США, 978 - Евро
signподписьString"a7f5bcbb774cea9d9886cbb3ce2f8731359e356a7d759437b4e9e31da1152109"
shop_order_idномер счета на стороне магазина, форматString"h8fj38dkh-hf8k-4f8d-9c8c-jd8dh38dksn92"
descriptionописание выставленного счета (не обязательный параметр)String"test bill"
payer_accountemail или номер счета плательщика на стороне платежной системы Qostiq (не обязательный параметр),String или integer"support@qostiq.com" или 201494711279

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

ПараметрОписаниеФорматПример
failed_urlURL, на который будет перенаправлен плательщик, после не успешной оплаты счета,String"https://qostiq.com/failed"
success_urlURL, на который будет перенаправлен плательщик, после успешной оплаты счетаString"https://qostiq.com/success"
callback_urlURL адрес на который будет отправляться уведомление об успешной оплатеString"https://qostiq.com/callback_url_kvt"
callback_rejected_urlURL адрес на который будет отправляться уведомление о неуспешной оплатеString"https://qostiq.com/callback_rejected_url_kvt"
lifetimeвремя действия счета для оплаты, в минутахString"43200"

Важно! Success URL, Fail URL, URL уведомлений, URL Reject уведомлений указанные в настройках магазина, имееют приоритет выше переданных в запросе, поэтому необходимо удалить их из настроек магазина.

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

{
"data": {
"created": "Wed, 06 Dec 2017 14:30:44 GMT",
"id": 25,
"lifetime": "43200",
"payer_account": null,
"payer_currency": 980,
"payer_price": 23.15,
"shop_amount": 23.15,
"shop_currency": 980,
"shop_id": 3,
"shop_order_id": 4239,
"shop_refund": 23.15,
"url": "https://wallet.qostiq.com/ru/bill/pay/WtvoXPzcphd"
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
dataинформация по созданному счету для оплаты
idуникальный идентификатор счета в системе Qostiq
lifetimeвремя действия счета для оплаты, в минутах, по умолчанию: 43200 минут
payer_accountаккаунт плательщика, которому выставлен счет для оплаты (если передавался в запросе)
payer_currencyвалюта, в которой должен оплатить счет плательщик
payer_priceсумма, которую должен оплатить плательщик для погашения счета
shop_currencyвалюта счета, зачисления на магазин
shop_amountсумма счета, переданная магазином
shop_idидентификатор магазина
shop_order_idномер счета на стороне магазина
urlURL на который можно перенаправить пользователя для оплаты счета

Внимание! При указании payer_account счет будет выставлен и привязан к пользователю для оплаты. Пользователь сможет просмотреть список неоплаченных счетов в своем личном кабинете и оплатить его. Для удобства оплаты, можно перенаправить пользователя на url из ответа на запрос. Необходимо обязательно перенаправить пользователя на url из ответа, если вы не передавали payer_account

Пример ошибки при выставлении счета:

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

Где

ПараметрОписание
messageописание ошибки
error_codeкод ошибки

Выставить счет Qostiq [POST]

  • Request (application/json)
{ 
"description": "Test Bill",
"payer_currency": 980,
"shop_amount": "23.15",
"shop_currency": 980,
"shop_id": "112",
"shop_order_id": 4239,
"sign": "ad7fbe8df102bc70e28deddba8b45bb3f4e6cafdaa69ad1ecc0e8b1d4e770575"
}
  • Response 200 ()
{ 
"data":
{
"created": "Wed, 06 Dec 2017 14:35:43 GMT",
"id": 26,
"lifetime": 43200,
"payer_account": null,
"payer_currency": 980,
"payer_price": 23.15,
"shop_amount": 23.15,
"shop_currency": 980,
"shop_id": 3,
"shop_order_id": 4239,
"url": https://wallet.qostiq.com/ru/bill/pay/kdrNIrMtuhb
}
"error_code": 0,
"message": "Ok",
"result": true
}

Выставление счетов Bill v.2 с возможностью оплаты на свободную сумму [/bill/create/v2]

Bill v.2 - новый метод позволяет выставлять счета для оплаты при помощи кошельков Qostiq wallet в 2х вариантах:

  • на фиксированную сумму - вы определяете сколько клиент должен заплатить за ваши услуги (если передан amount);

  • на свободную сумму - вы оставляете за клиентом право указывать сумму которая будет зачислена на магазин (если не передан amount).

URL: https://core.qostiq.com/bill/create/v2

Метод: POST

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

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

В запросе могут передаваться дополнительные параметры, например, description – описание счета, или email – email кошелька плательщика в системе Qostiq

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

{
"currency": 840,
"shop_id": 6,
"now": 1687520474,
"shop_order_id": "dc5a286e-6c5e-43e8-8c68-926fa15d09ec",
"sign": "771952b72a0869945d62373b46a79feabc5a674b34cf78de5dc7c4c36981cf87"
}
ПараметрОписаниеФорматПример
shop_idидентификатор магазина в системе QostiqInteger6
currencyвалюта выставленного счета (зачисления на магазин)Integer980 - Украинская гривна, 840 - Доллар США, 978 - Евро
nowвремя запроса в формате timestampInteger1687520474
signподписьString"771952b72a0869945d62373b46a79feabc5a674b34cf78de5dc7c4c36981cf87"
shop_order_idномер счета на стороне магазина, форматString"dc5a286e-6c5e-43e8-8c68-926fa15d09ec"

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

ПараметрОписаниеФорматПример
amountсумма выставленного счета, при использовании данного параметра клиент не будет иметь возможность сменить сумму оплатыNumber (Не больше 2х знаков после точки)1, 1.0, 1.00 или "1.00"
emailemail кошелька плательщика в системе QostiqString"example@mail.com"
failed_urlURL, на который будет перенаправлен плательщик, после не успешной оплаты счета,String"https://qostiq.com/failed"
success_urlURL, на который будет перенаправлен плательщик, после успешной оплаты счетаString"https://qostiq.com/success"
callback_urlURL адрес на который будет отправляться уведомление об успешной оплатеString"https://qostiq.com/callback_url_kvt"
callback_rejected_urlURL адрес на который будет отправляться уведомление о неуспешной оплатеString"https://qostiq.com/callback_rejected_url_kvt"
lifetimeвремя действия счета для оплаты, в минутах (90 по умолчанию)String"43200"
langязык страницы оплаты (доступны английский "en", польский - "pl", русский - "ru", украинский - "uk")String"en"

Важно! Success URL, Fail URL, URL уведомлений, URL Reject уведомлений указанные в настройках магазина, имееют приоритет выше переданных в запросе, поэтому необходимо удалить их из настроек магазина.

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

{
"data": {
"created": "Fri, 23 Jun 2023 11:44:50 GMT",
"id": 1914,
"lifetime": "90",
"payer_account": null,
"payer_currency": 840,
"payer_price": null,
"shop_amount": null,
"shop_currency": 840,
"shop_id": 6,
"shop_order_id": "dc5a286e-6c5e-43e8-8c68-926fa15d09ec",
"shop_refund": null,
"url": "https://wallet.qostiq.com/ru/bill/pay/ba534fbd7bad42e09c47ce70c06b4886"
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
dataинформация по созданному счету для оплаты
idуникальный идентификатор счета в системе Qostiq
lifetimeвремя действия счета для оплаты, в минутах, по умолчанию: 43200 минут
payer_accountаккаунт плательщика, которому выставлен счет для оплаты (если передавался в запросе)
payer_currencyвалюта, в которой должен оплатить счет плательщик
payer_priceсумма, которую должен оплатить плательщик для погашения счета
shop_currencyвалюта счета, зачисления на магазин
shop_amountсумма счета, переданная магазином
shop_idидентификатор магазина
shop_order_idномер счета на стороне магазина
urlURL на который можно перенаправить пользователя для оплаты счета

Внимание! При указании email счет будет выставлен и привязан к пользователю для оплаты. Пользователь сможет просмотреть список неоплаченных счетов в своем личном кабинете и оплатить его. Для удобства оплаты, можно перенаправить пользователя на url из ответа на запрос. Необходимо обязательно перенаправить пользователя на url из ответа, если вы не передавали email

Пример ошибки при выставлении счета:

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

Где

ПараметрОписание
messageописание ошибки
error_codeкод ошибки

Выставить счет Qostiq [POST]

  • Request (application/json)
{
"currency": 840,
"shop_id": 6,
"now": 1687520474,
"shop_order_id": "dc5a286e-6c5e-43e8-8c68-926fa15d09ec",
"sign": "771952b72a0869945d62373b46a79feabc5a674b34cf78de5dc7c4c36981cf87"
}
  • Response 200 ()
{
"data": {
"created": "Fri, 23 Jun 2023 11:44:50 GMT",
"id": 1914,
"lifetime": 90,
"payer_account": null,
"payer_currency": 840,
"payer_price": null,
"shop_amount": null,
"shop_currency": 840,
"shop_id": 6,
"shop_order_id": "dc5a286e-6c5e-43e8-8c68-926fa15d09ec",
"shop_refund": null,
"url": "https://wallet.test-qostiq.com/ru/bill/pay/ba534fbd7bad42e09c47ce70c06b4886"
},
"error_code": 0,
"message": "Ok",
"result": true
}

Запрос статуса Bill [/bill/shop_order_status]

Этот метод позволяет узнать текущий статус платежа совершенного при помощи кошелька Qostiq wallet.

URL: https://core.qostiq.com/bill/shop_order_status

Метод: POST

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

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

{
"now": "2021-05-01 16:56:25.009469",
"shop_id": 1092,
"shop_order_id": "234234232323",
"sign": "b9b838e0b1baedcf7dd60711b1afab246c3496b5cc3433df0c5a2e2d07fea976"
}
ПараметрОписаниеФорматПример
nowвремя запросаString"2021-05-01 16:56:25.009469"
shop_idидентификатор магазина в системе QostiqInteger1092
shop_order_idномер счета на стороне Вашего сервисаString"234234232323"
signподписьString"b9b838e0b1baedcf7dd60711b1afab246c3496b5cc3433df0c5a2e2d07fea976"

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

{
"data": {
"client_price": 1.16,
"created": "2020-10-20 14:01:28",
"description": "",
"is_unique": true,
"payment_id": 852095,
"payway": "qostiq_usd",
"processed": "2020-10-20 14:01:33",
"ps_currency": 980,
"ps_data": {
"ps_payer_account": "201538122124"
},
"shop_amount": 1.1,
"shop_currency": 980,
"shop_id": 1092,
"shop_order_id": "234234232323",
"shop_refund": 1.1,
"status": 2
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

ПараметрОписание
client_priceсумма платежа
createdдата создания
descriptionописание счета
is_uniqueуникальность номера платежа
payment_idидентификатор платежа на стороне Qostiq
paywayплатежное направление
processedдата проведения платежа
ps_currencyвалюта выставленного счета
ps_dataдополнительная информация от платежной системы, например аккаунт плательщика
shop_amountсумма счета, переданная магазином
shop_currencyвалюта счета, зачисляемая в магазин
shop_idидентификатор магазина в системе Qostiq
shop_order_idномер счета на стороне магазина
shop_refundсумма зачисления на баланс магазина, в валюте счета
statusстатус счета

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

Если shop_order_id не уникален по операциям bill в рамках магазина, в ответе содержится "is_unique":false и метод возвращает информацию по последнему созданному Bill.

Запрос статуса Bill [POST]

  • Request (application/json)
{ 
"now": "2021-05-01 16:56:25.009469",
"shop_id": "1092",
"shop_order_id": "234234232323",
"sign": "ad7fbe8df102bc70e28deddba8b45bb3f4e6cafdaa69ad1ecc0e8b1d4e770575"
}
  • Response 200 ()
{
"data": {
"client_price": 1.16,
"created": "2020-10-20 14:01:28",
"description": "",
"is_unique": true,
"payment_id": 852095,
"payway": "qostiq_usd",
"processed": "2020-10-20 14:01:33",
"ps_currency": 980,
"ps_data": {
"ps_payer_account": "201538122124"
},
"shop_amount": 1.1,
"shop_currency": 980,
"shop_id": 1092,
"shop_order_id": "234234232323",
"shop_refund": 1.1,
"status": 2
},
"error_code": 0,
"message": "Ok",
"result": true
}

Статус операций Bill [/bill/status]

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

Запрос статуса Bill при неуникальном shop_order_id [POST]

  • Request (application/json)
{ 
"now": "2021-05-01 16:56:25.009469",
"shop_id": "112",
"shop_order_id": "123billtest",
"sign": "6fb934f7e00d205cb5ebb62117d9b74029d84c2ffc7c87fe5b38ac5196fecf02"
}
  • Response 200 ()
{
"data": {
"client_price": 1.0,
"created": "2021-06-09 13:47:05",
"description": "",
"is_unique": false,
"payment_id": 19732961,
"payway": "qostiq_usd",
"processed": null,
"ps_currency": 980,
"ps_data": {
"ps_payer_account": "201538122124"
},
"shop_amount": 1.0,
"shop_currency": 980,
"shop_id": 1092,
"shop_order_id": "123billtest",
"shop_refund": 0.93,
"status": 4
},
"error_code": 0,
"message": "Ok",
"result": true
}

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

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

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

Метод: POST

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

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

{
"amount": 1.11,
"amount_type": "receive_amount",
"payee_currency": 978,
"shop_currency": 840,
"shop_id": 6,
"sign": "cea33ec0eeeef9866b01d51c7bbe55b4d3c3f2e18f681d7629940b816ff35a2b"
}

Где,

ПараметрОписаниеФорматПример
amountсумма получения или списания (зависит от amount_type)Number (Не больше 2х знаков после точки)1.00 или 1
amount_typeуказывает на тип суммы, возможны значения: receive_amount – сумма к получению на аккаунт, writeoff_amount - сумма к списанию с баланса магазинаString"receive_amount" или "writeoff_amount"
payee_currencyвалюта получения на аккаунт в QostiqInteger980 - Украинская гривна, 840 - Доллар США, 978 - Евро, 398 - Казахстанский Тенге
shop_currencyвалюта списания с магазина,Integer980 - Украинская гривна, 840 - Доллар США, 978 - Евро, 398 - Казахстанский Тенге
shop_idидентификатор магазина, с которого осуществляется выплатаInteger5
signподпись запросаString"cea33ec0eeeef9866b01d51c7bbe55b4-d3c3f2e18f681d7629940b816ff35a2b"

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

{
"data": {
"account_info_config": {
"payee_account": {
"comment": {
"en": "Enter Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"example": "31557414711",
"label": {
"en": "Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"regex": "^3[\\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
}

Где,

ПараметрОписание
account_info_config.payee_accountинформация об аккаунте, в том числе регулярное выражение, которому должен соответствовать аккаунт
payee_amountсумма к получению на счет в валюте payee_currency
payee_currencyвалюта получения на счет суммы payee_amount
shop_currencyвалюта списания с магазина суммы write_off_amount
write_off_amountсумма списания с магазина в валюте shop_currency

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

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

  • Request (application/json)
{
"amount": "1.11",
"amount_type": "receive_amount",
"payee_currency": "978",
"shop_currency": "840",
"shop_id": "6",
"sign": "cea33ec0eeeef9866b01d51c7bbe55b4d3c3f2e18f681d7629940b816ff35a2b"
}
  • Response 200 ()
{
"data": {
"account_info_config": {
"payee_account": {
"comment": {
"en": "Enter Wallet Number or Email",
"ru": "Введите номер кошелька или email"
},
"example": "31557414711",
"label": {
"en": "Wallet Number or Email",
"ru": "Номер кошелька или email"
},
"regex": "^3[\\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
}

Вывод средств на кошелек: Transfer [/transfer/create]

Transfer - Операция Transfers используется для вывода средств с магазина на персональный аккаунт пользователя в валюте Qostiq.

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

Метод: POST

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

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

В запросе могут передаваться дополнительные параметры, например, description – описание выплаты.

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

{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 980,
"shop_currency": 980,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f508edf40582e17a9a602a43be9b527238b1b0a6777e226381f4"
}

Где,

ПараметрОписаниеФорматПример
payee_accountаккаунт получателя средств в системе Qostiq, может быть передан как номер кошелька, так и email пользователяString"201487668051" или "qostiq@qostiq.com";
amountсумма получения или списания (зависит от amount_type)Number (Не больше 2х знаков после точки)1.00 или 1
amount_typeуказывает на тип суммы, возможны значения: receive_amount – сумма к получению на аккаунт, writeoff_amount - сумма к списанию с баланса магазинаString"receive_amount" или "writeoff_amount"
payee_currencyвалюта получения на аккаунт в QostiqInteger980 - Украинская гривна, 840 - Доллар США, 978 - Евро, 398 - Казахстанский Тенге
shop_currencyвалюта списания с магазина,Integer840 - Доллар США, 978 - Евро, 980 - Украинская гривна, 398 - Казахстанский Тенге
shop_idидентификатор магазина, с которого осуществляется выплатаInteger5
shop_payment_idуникальный идентификатор платежа на стороне магазинаString"h8fj38dkh-hf8k-4f8d-9c8c-jd8dh38dksn92"

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

{
"data": {
"balance": 0.9,
"id": 3,
"payee_account": 201497141132,
"payee_amount": 10,
"payee_currency": 980,
"shop": 112,
"shop_currency": 980,
"write_off_amount": 10
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

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

Внимание! У перевода отсутствует статус, т.к. если он создался и в ответе вернулся ID перевода, то перевод считается успешно проведенным, дополнительных запросов не требуется.

Перевести средства с баланса магазина [POST]

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

  • Request (application/json)
{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 980,
"shop_currency": 980,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f508edf40582e17a9a602a43be9b527238b1b0a6777e226381f4"
}
  • Response 200 ()
{
"data": {
"balance": 88.91,
"id": 12,
"payee_account": 201497141132,
"payee_amount": 10,
"payee_currency": 980,
"shop": 112,
"shop_currency": 980,
"write_off_amount": 10
},
"error_code": 0,
"message": "Ok",
"result": true
}

Вывод средств на кошелек: Transfer [/transfer/create]

Transfer - Операция Transfers используется для вывода средств с магазина на персональный аккаунт пользователя в валюте Qostiq.

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

Метод: POST

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

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

В запросе могут передаваться дополнительные параметры, например, description – описание выплаты.

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

{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 980,
"shop_currency": 980,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f508edf40582e17a9a602a43be9b527238b1b0a6777e226381f4"
}

Где,

ПараметрОписаниеФорматПример
payee_accountаккаунт получателя средств в системе Qostiq, может быть передан как номер кошелька, так и email пользователяString или integer201487668051 или "qostiq@qostiq.com";
amountсумма получения или списания (зависит от amount_type)Number (Не больше 2х знаков после точки)1, 1.0, 1.00 или "1.00"
amount_typeуказывает на тип суммы, возможны значения: receive_amount – сумма к получению на аккаунт, writeoff_amount - сумма к списанию с баланса магазинаString"receive_amount" или "writeoff_amount"
payee_currencyвалюта получения на аккаунт в QostiqInteger980 - Украинская гривна, 840 - Доллар США, 978 - Евро, 398 - Казахстанский Тенге
shop_currencyвалюта списания с магазина,Integer980 - Украинская гривна, 840 - Доллар США, 978 - Евро
shop_idидентификатор магазина, с которого осуществляется выплатаInteger5
shop_payment_idуникальный идентификатор платежа на стороне магазинаString"h8fj38dkh-hf8k-4f8d-9c8c-jd8dh38dksn92"

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

{
"data": {
"balance": 0.9,
"id": 3,
"payee_account": 201497141132,
"payee_amount": 10,
"payee_currency": 980,
"shop": 112,
"shop_currency": 980,
"write_off_amount": 10
},
"error_code": 0,
"message": "Ok",
"result": true
}

Где,

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

Внимание! У перевода отсутствует статус, т.к. если он создался и в ответе вернулся ID перевода, то перевод считается успешно проведенным, дополнительных запросов не требуется.

Перевести средства с баланса магазина [POST]

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

  • Request (application/json)
{
"amount": 10,
"amount_type": "receive_amount",
"payee_account": "201497141132",
"payee_currency": 980,
"shop_currency": 980,
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561324",
"sign": "cd30ba2b6e29f508edf40582e17a9a602a43be9b527238b1b0a6777e226381f4"
}
  • Response 200 ()
{
"data": {
"balance": 88.91,
"id": 12,
"payee_account": 201497141132,
"payee_amount": 10,
"payee_currency": 980,
"shop": 112,
"shop_currency": 980,
"write_off_amount": 10
},
"error_code": 0,
"message": "Ok",
"result": true
}

Запрос статуса Transfer [/transfer/shop_payment_status]

Запрос статуса по переводу transfer выполняется по номеру платежа магазина.

В случае получения time-out или других ошибок на запрос создания transfer, можно сделать запрос статуса перевода с помощью данного метода. Если в ответе вернулся идентификатор и данные по переводу, то значит перевод был успешно создан и проведен. В противном случае вернется ошибка, что перевод не найден и необходимо будет повторить запрос на создание перевода.

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

Метод: POST

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

ПараметрОписаниеФорматПример
nowвремя запросаString"2018-06-15 09:58:01.01"
shop_payment_idномер счета на стороне Вашего сервисаString"h8fj38dkh-hf8k-4f8d-9c8c-jd8dh38dksn92"
shop_idидентификатор магазина в системе QostiqInteger5
signподписьString"a7f5bcbb774cea9d9886cbb3ce2f8731359e356a7d759437b4e9e31da1152109"

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

{
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
"now": "2018-01-23 16:45:14.145107",
"sign": "e76c5ed9431d18ad6c01ea123241fe88330714c97bdd184860a80cb675c1e016"
}

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

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

Пример ответа, если transfer не был создан (не найден):

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

Запросить статус transfer [POST]

  • Request (application/json)
{ 
"shop_id": 112,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
"now": "2018-01-23 16:45:14.145107",
"sign": "e76c5ed9431d18ad6c01ea123241fe88330714c97bdd184860a80cb675c1e016"
}
  • Response 200 ()
{ 
"data":
{
"id": 3,
"payee_currency": 980,
"receive_amount": 1,
"shop_currency": 980,
"shop_payment_id": "55ac443d-958b-40e3-8956-e04e72561322",
"write_off_amount": 1
},
"error_code": 0,
"message": "Ok",
"result": true
}
  • Response 200 (error)
{ 
"data": null,
"error_code": 7,
"message": "Transfer (shop_payment_id=test) wasn't found",
"result": false
}