RU
EN
ГЛАВНАЯ СТРАНИЦА

Оплата гостевого счета

Тип

POST

Вызов

/pay-guest

Формат возвращаемых данных

{ 
    "DiscountSums": [ 
        { 
            "type_ID": "60D367B5-15D2-D24D-8A74-A28F40C8CB9D", 
            "sum": 20 
        } 
    ], 
    "AppliedDiscountSums": [ 
        { 
            "type_ID": "0412C97B-AF11-2447-88D9-B40FA0EB996D", 
            "sum": 20 
        } 
    ] 
} 

или

"<Текст ошибки>"

Параметры

delete-prechecks

Необязательный параметр запроса. Используется при пересчете скидки по баллам.

Значение флага DeletePrechecks

Описание

Примечание

0

Не удалять

Применить абсолютную скидку @DiscountSum к остатку счета, не переданному в оплату, не удаляя пречеки то есть на блюда, включенные в пречек, скидка распространяться не будет.

Если нет элементов, не переданных в оплату (не включенных в пречек), выводится ошибка «Счет уже передан в оплату».

1

Удалить все пречеки

Применить абсолютную скидку @DiscountSum к полному составу счета.

Если есть хоть один пречек со статусом «Оплачен», выводится ошибка, что счет уже оплачен.

2

Удалить неоплаченные пречеки

Применить абсолютную скидку @DiscountSum, отменив все пречеки оплата которых еще не началась. Остальные пречеки удаляются, если для них нет чеков.

В секцию BODY запроса включаются два параметра Payment и DiscountSum (необязательный – при наличии), в секции HEADER нужно указать "Content-Type: application/json".

Пример вызова

curl \
  -H "Content-Type: application/json"  \
  -d @pay_in.json \ 1
  -o out.json \ 2
  --url "http://89.22.216.169:8090/pay-guest?delete
1

pay_in.json – имя файла с параметрами Payment и GuestDiscountPoints,

2

out.json – имя файла с положительным или отрицательным результатом операции.

Пример формирования оплаты

Соглашения

  1. Поле paySum необязательно для заполнения, если paySum не будет заполнено, то пречек и чек не будут сформированы.

  2. Поле payType_ID необязательно для заполнения, но если не заполнено поле оплачиваемого счета gsdlv_pytp_ID_Prepaid, то будет возвращена ошибка «Для проведения оплаты должен присутствовать либо payType_ID, либо gsdlv_pytp_ID_Prepaid». Также заполненное поле payType_ID записывает или перезаписывает значение поля gsdlv_gest_ID_Prepaid.

  3. В pay-guest можно передавать DiscountSum – скидку в виде баллов, где поле type_ID необязательное, так как может быть заполнено из настроек модуля, а sum – сумма скидки

  4. Сумма оплаты должна совпадать с итоговой суммой заказов счета с учетом частичной оплаты баллами, если она есть, иначе будет возвращена ошибка «Сумма интернет-оплаты не может отличаться от итоговой суммы счета».

  5. После обработки (удаления) пречеков, указанное значение суммы скидки @DiscountSum сохраняется в служебной заметке, после чего вызывается пересчет скидок процедурой p_CalcDiscount.

  6. Если paySum равен сумме счета с учетом баллов, формируются пречек и чек со статусом «Оплачен» на указанную сумму указанным типом оплаты.

  7. В ответе запроса должны содержаться DiscountSum (заявленная сумма баллов) и AppliedDiscountSum (примененная сумма баллов), если AppliedDiscountSum отсутствует, значит скидка по баллам не настроена (баллы не начислены).