PayOrder
Описание
Назначение в WSA v1 | Оплатить заказ по ключам Objectid+OrderGuid на основе предоплаты. Если передаем валют больше, чем надо для оплаты заказа, то такой платеж не принимаем. Отдаем как ошибку |
Назначение в WSA v2 | Оплатить заказ по ключам Objectid+OrderGuid на основе оплаты. Если передаем денег больше или меньше, чем надо для оплаты заказа, то такой платеж не принимаем. Отдаем как ошибку |
Тип запроса | Асинхронный |
Поддерживаемая версия агента | v1, v2 |
Особенности
Если оплата 100% скидкой, то требуется передавать эту оплату без одной копейки
Формат запроса
{
"taskType": "PayOrder",
"params": {
"async": {
"objectId": number,
"timeout": number
},
"orderGuid": "guid",
"isFullOrderRequired": bool,
"payments": [{
"amount": number,
"currency": "guid"
}
]
}
}
JSON
Описание параметров
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
taskType | Тип задачи | ||
async | Асинхронный метод | ||
timeout | int | - | Время ожидания ответа от агента в секундах, по умолчанию 120 секунд |
objectId | int | + | Код ресторана в системе лицензирования |
isFullOrderRequired | bool | - | Если true - возвращается весь заказ |
orderGuid | guid | + | Guid заказа по которому требуется провести оплату |
payments | array | + | массив данных по оплате |
amount | string | + | значение суммы на оплату. Разделителем целой и дробной части суммы должна быть точка. |
currency | string | + | guid валюты |
Формат ответа
{
"responseCommon":{
"taskGuid":"guid",
"taskType":"PayOrder",
"objectId": number
},
"error":{
"wsError":{
"code":"string",
"desc":"string"
}
}
}
JSON
Параметр | Тип | Описание |
---|---|---|
taskGuid | guid | Уникальный код этой задачи используется при получении задачи через очередь |
taskType | string enum | Тип задачи |
objectId | int | Код ресторана в системе лицензирования |
error | Контейнер ошибок, внутри детализация по связанным системам | |
- wsError | Ошибки, получаемые от сервиса WhiteServer | |
– code | string | Код ошибки |
– desc | string | Описание ошибки |
Формат асинхронного ответа
// Успешный ответ (значит, предоплата прошла!), детальная инфа о заказе не запрошена
// Успешный ответ (значит, предоплата прошла!), детальная инфа о заказе не запрошена
{
"taskResponse": {
"order": {
"price": {
"total": number,
"summToPay": number
}
}
},
"responseCommon": {
"taskGuid": "string",
"taskType": "PayOrder",
"objectId": number
}
}
// Успешный ответ (значит, оплата прошла!), запрошен весь заказ
{
"taskResponse": {
"order": {
"originalOrderId": "string",
"createdAt": "2008-10-17T00:00:00",
"status": {
"value": "string"
},
"delivery": {
"expectedTime": "2008-10-17T00:00:00"
},
"products": [
{ // простой вариант
"ingredients": [
{
"id": "string",
"name": "string",
"quantity": "number"
}
],
"voidingReason":"string",
"id": "string",
"name": "string",
"price": "string",
"quantity": number
}
],
"comment": "string",
"personsQuantity": number
},
"price": {
"total": number,
"summToPay": number
}
}
},
"responseCommon": {
"taskGuid": "string",
"taskType": "PayOrder",
"objectId": number
}
}
// Ответ с ошибкой
{
"responseCommon": {
"taskGuid": "string",
"taskType": "PayOrder",
"objectId": number
},
"error": {
"wsError": {
"code": "string",
"desc": "string"
},
"agentError": {
"code": "string",
"desc": "string"
}
}
}
JSON