Описание


Назначение в 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

Асинхронный метод
timeoutint-Время ожидания ответа от агента в секундах, по умолчанию 120 секунд
objectIdint+Код ресторана в системе лицензирования
isFullOrderRequiredbool-Если true - возвращается весь заказ
orderGuidguid+Guid заказа по которому требуется провести оплату
paymentsarray+массив данных по оплате
amountstring+значение суммы на оплату. Разделителем целой и дробной части суммы должна быть точка.
currencystring+guid валюты

Формат ответа

{ 
   "responseCommon":{ 
      "taskGuid":"guid",
      "taskType":"PayOrder",
      "objectId": number
   },
   "error":{ 
      "wsError":{ 
         "code":"string",
         "desc":"string"
      }
   }
}
JSON
ПараметрТипОписание
taskGuidguidУникальный код этой задачи используется при получении задачи через очередь
taskTypestring enumТип задачи
objectIdintКод ресторана в системе лицензирования
error
Контейнер ошибок, внутри детализация по связанным системам
- wsError
Ошибки, получаемые от сервиса WhiteServer
– codestringКод ошибки
– descstringОписание ошибки

Формат асинхронного ответа

// Успешный ответ (значит, предоплата прошла!), детальная инфа о заказе не запрошена
// Успешный ответ (значит, предоплата прошла!), детальная инфа о заказе не запрошена
{
  "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