Оплаты по контракту
Оплаты и возвраты денег по кредитной продаже: каждая оплата ICAN становится транзакцией продажи и движением кассы. Здесь же — данные для окна «Возврат денежных средств».
| Метод | Адрес | Назначение |
|---|---|---|
| POST | /external/credit/trade-sale-transaction/create | Провести оплату по контракту |
| POST | /external/credit/trade-sale-transaction/refund-information | Данные для возврата оплаты |
Провести оплату по контракту
/external/credit/trade-sale-transaction/createЗаписывает оплату (income) или возврат (outcome) по кредитной продаже sale_id и двигает кассу: без cashbox_id — касса продажи, автосписания auto_payment* — главная касса компании; system/discount засчитываются в оплату без движения кассы. credit_transaction_id принимается один раз на компанию (повтор — 422). Затем статус продажи пересчитывается: completed, если оплачено не меньше sold_amount, иначе in_progress (canceled сохраняется); id ответа — это payment_id для возврата.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
External-System-Secret-Key | {external_system_secret_key} | Секретный ключ внешней системы |
Company-Wasyt-Uuid | {company_wasyt_uuid} | Компания по её wasyt UUID (или Company-Ican-Uuid) |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
sale_id | integer | Да | ID кредитной продажи (id из ответа trade-sale/create) |
cashbox_id | integer | Нет | Касса; пусто — касса продажи |
type | string | Да | Тип. Допустимые значения: income, outcome |
payment_type | string | Да | Тип оплаты wasyt или ICAN (terminal, mib, blacklist, auto_payment* → bank; card_* → card; discount → system); debt запрещён. Допустимые значения: bank, card, cash, bonus, system |
amount | number | Да | Сумма. До 2 знаков после запятой. Не меньше 0.01. Не больше 999999999999.99 |
credit_transaction_id | integer | Да | ID оплаты в кредитной системе, уникален в компании |
credit_status | string | Да | Статус контракта; значение не из статусов продажи заменяется на in_progress |
comment | string | Нет | Комментарий. Макс. 1000 символов |
{
"sale_id": 1,
"type": "income",
"payment_type": "auto_payment_uniaccess",
"amount": 1000,
"credit_transaction_id": 1,
"credit_status": "completed"
}curl -X POST "https://api.wasyt.uz/external/credit/trade-sale-transaction/create" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "External-System-Secret-Key: {external_system_secret_key}" \
-H "Company-Ican-Uuid: ican-company-1" \
-H "Content-Type: application/json" \
-d '{"sale_id":1,"type":"income","payment_type":"auto_payment_uniaccess","amount":1000,"credit_transaction_id":1,"credit_status":"completed"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
sale_id | integer | Продажа |
type | string | Тип |
payment_type | string | Тип оплаты |
amount | integer | Сумма |
credit_transaction_id | integer | |
cashbox_id | integer | Касса |
created_at | string | Создано |
company_id | integer | Компания |
id | integer | ID |
sale | object | |
sale.id | integer | ID |
sale.creator_id | integer | Создатель |
sale.company_id | integer | Компания |
sale.cashbox_id | integer | Касса |
sale.stock_id | integer | Склад |
sale.client_id | integer | Клиент |
sale.exchange_of_sale_id | null | |
sale.currency | string | Валюта |
sale.purchased_amount | integer | |
sale.sold_amount | integer | Сумма в продаже |
sale.returned_amount | integer | Возвращённая сумма |
sale.status | string | Статус |
sale.source_type | string | Источник |
sale.source_data | array | |
sale.code | string | Код |
sale.created_at | string | Создано |
sale.updated_at | string | Обновлено |
{
"sale_id": 1,
"type": "income",
"payment_type": "bank",
"amount": 1000,
"credit_transaction_id": 1,
"cashbox_id": 16,
"created_at": "2026-09-30 12:25:54",
"company_id": 1,
"id": 228,
"sale": {
"id": 1,
"creator_id": 2,
"company_id": 1,
"cashbox_id": 1,
"stock_id": 1,
"client_id": 1,
"exchange_of_sale_id": null,
"currency": "uzs",
"purchased_amount": 500,
"sold_amount": 4900,
"returned_amount": 0,
"status": "completed",
"source_type": "wasyt",
"source_data": [],
"code": "w-1-1",
"created_at": "2020-01-01 10:00:00",
"updated_at": "2026-09-30 12:25:54"
}
}Данные для возврата оплаты
/external/credit/trade-sale-transaction/refund-informationДанные окна «Возврат денежных средств» по оплате payment_id кредитной продажи или внешнего кредита (другая оплата — 422): касса, на которую пришли деньги, currency, paid_amount (сумма именно этой оплаты) и balances[] — ненулевые остатки этой кассы по cash, card, bank в валюте оплаты. Ничего не меняет: сам возврат проводит кредитная система.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
External-System-Secret-Key | {external_system_secret_key} | Секретный ключ внешней системы |
Company-Wasyt-Uuid | {company_wasyt_uuid} | Компания по её wasyt UUID (или Company-Ican-Uuid) |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
payment_id | integer | Да | ID приходной оплаты wasyt (id из ответа trade-sale-transaction/create или external-credit-payment/create). ID существующей записи |
{
"payment_id": 1
}curl -X POST "https://api.wasyt.uz/external/credit/trade-sale-transaction/refund-information" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "External-System-Secret-Key: {external_system_secret_key}" \
-H "Company-Ican-Uuid: ican-company-1" \
-H "Content-Type: application/json" \
-d '{"payment_id":1}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
cashbox | object | |
cashbox.id | integer | ID |
cashbox.name | string | Название |
cashbox.type | string | Тип |
currency | string | Валюта |
paid_amount | integer | |
balances | object[] | |
balances[].id | integer | ID |
balances[].payment_type | string | Тип оплаты |
balances[].label | string | |
balances[].currency | string | Валюта |
balances[].amount | integer | Сумма |
{
"cashbox": {
"id": 1,
"name": "Cashbox 1",
"type": "sale"
},
"currency": "uzs",
"paid_amount": 4000,
"balances": [
{
"id": 1,
"payment_type": "cash",
"label": "Наличные",
"currency": "uzs",
"amount": 1000
},
{
"id": 24,
"payment_type": "card",
"label": "Безналичные",
"currency": "uzs",
"amount": 3000
}
]
}
