Сценарий использования

Клиент оплачивает заказ на сайте ресторана, у которого есть интеграция с платежной системой:

  1. С помощью Delivery API на сайте ресторана создается заказ. В ответе на запрос создания r_k Delivery возвращает номер заказа
  2. Если активированы функции автоматического принятия и подтверждения заказа, то в течение того времени, которое настроено в корпорации, статус нового заказа изменится на Передан на кухню. После этого заказ попадет на кассу.
    Если соответствующие функции автоматических принятия и подтверждения заказа не активированы, то заказ сначала обрабатывается оператором колл-центра r_k Delivery или менеджером доставки r_k Delivery, и только потом передается на кассу.

  3. С помощью метода API отправляется запрос одновременно в r_keeper и r_k Delivery на оплату заказа
  4. После успешной оплаты заказ можно закрыть с помощью метода API — заказ закроется и в r_keeper, и r_k Delivery.

Методы API

Оплата заказа

Запрос

PUT /orders/api/v1/orders/{orderId}/pay
JSON

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

PUT https://delivery.ucs.ru/orders/api/v1/orders/102/pay
JSON

Пример тела запроса

[
   {
      "code":"16D72549-14D8-4F31-9E2A-0A833D4F5EED",
      "amount":978,
      "paidAt":"2022-04-05T15:12:58.658+03:00",
      "name":""
   }
]
JSON
Параметр ТипОписание

code

string

GUID валюты в r_keeper

amountnumber

Сумма для оплаты

paidAtstringВремя оплаты
namestringНазвание валюты. Необязательный параметр

Примеры ответов

В ответе получена ошибка с настройкой оплаты

{
    "code": "ERR_EXTERNAL_ERROR_WS",
    "msg": "Ошибка WS: Код ошибки: WsaOrderError. RkInternal: Касса [3373] Недостаточно денег для полной оплаты заказа.",
    "requestId": "0HMGNRL7KKKDF:00000001",
    "errors": null
}
JSON

Успешная оплата

{
    "result": {}
}
JSON

Закрытие заказа

Запрос

PUT /orders/api/v1/orders/{orderId}/complete
JSON

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

PUT https://delivery.ucs.ru/orders/api/v1/orders/107/complete
JSON

Примеры ответов

Попытка закрыть неоплаченный заказ:

Status code: 500

{
	"code": "rk7_close_order",
	"msg": "RkInternal: Касса [3071] Невозможно закрыть  заказ 1.73, он не оплачен полностью.",
	"requestId": "f3e391f697a9e2a72fe67c6ba69db771",
	"errors": null
}
JSON

Успешное закрытие заказа:

Status code: 200 OK

{
	"result": {}
}
CODE