Bill PaymentExt: відмінності між версіями

Матеріал з SERVIO
Перейти до навігації Перейти до пошуку
(Створена сторінка: =='''Функція оплачує рахунок і закриває його'''== Розділ містить методи, необхідні для оплати рахунку за номером <br> {| cellspacing="3" cellpadding="0" style="width:100%; clear:both; margin:0.5em auto; background-color:#eaecf0; border:1px solid #c8ccd1;" |- ! style="background:#cdf; padding:0.5em; text-align:left; width:15%" id="fileinfotpl_desc" | Опис | style=...)
 
Немає опису редагування
 
(Не показані 7 проміжних версій 2 користувачів)
Рядок 13: Рядок 13:
|-
|-
! style="background:#cdf; padding:0.5em; text-align:left;" id="fileinfotpl_date" | URL
! style="background:#cdf; padding:0.5em; text-align:left;" id="fileinfotpl_date" | URL
| style="background:#fff; padding:0.5em;" | /POSExternal/Get_Bill
| style="background:#fff; padding:0.5em;" | /POSExternal/Bill_PaymentExt
|}
|}
<br>
<br>
Рядок 38: Рядок 38:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
  {
  {
     "BillID": "{{billid}}",
    "AccountID": 0,
     //"CodeGUID":"805CC7A4-48F5-445C-9290-BE71964F0E6B",
     "BillID": 17572,
     "Locked_": false
    "Deposit": 0.0,
    "DepositID": 0,
    "Description": "",
    "DontClose": false,
    "id": 828411040,
     "PaySubType": 0,
    "PaymentID": 2441,
     "ReturnResult": false,
    "Summ": 22000.0,
    "SystemCode": "4503",
    "Tips": 28.48,
    "PayInfo": "<?xml version="1.0" encoding="utf-16"?><ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><PAYINFO InvNum="1282" RRN="000019186564" TerminalID="50920432" SignVerif="0" PayType="" PAN="XXXXXXXXXXXX1649" AuthCode="800368" IssuerName="MasterCard" emvAID="A0000000041010" Acquirer="0" MerchantID="40913422" MerchID="40913422" /></ROOT>"
  }
  }
</syntaxhighlight>
</syntaxhighlight>
Рядок 54: Рядок 65:
! scope="col"| Опис
! scope="col"| Опис
|-
|-
|<span style="color:#ff0000"><center>*</center></span>
|
| SystemCode
| SystemCode
| String [32]
| String [32]
Рядок 63: Рядок 74:
| Int  
| Int  
| ID рахунку
| ID рахунку
|-
|<span style="color:#ff0000"><center>*</center></span>
| PaymentID
| Int
| ID оплати
|-
|-
|
|
| TempID
| CardCode
| String
| Код карти для типу оплаты картою (в інших ігнорується)
|-
|<span style="color:#ff0000"><center>*</center></span>
| Summ
| Int
| Int
| Тимчасовий id рахунку. Шукає рахунок за цим кодом. Якщо не знаходить – повертає BillID = -1 (необов'язковий параметр)
| Cума оплати в копійках
|-
|-
|
|
| Locked
| Tips
| Bool
| Decimal
| Заблокувати рахунок (необов'язковий параметр)
| Cума чайових
|-
|-
|
|
| CodeGUID
| Description
| String [500]
| Подробиці оплати (бажано додавати зміну за якої була проведена оплата, RRN, код карти, номер розрахункового рахунку, і т.д.)
|-
|
| BonusSum
| Decimal
| Cума бонусів
|-
|
| ReturnResult
| Bool
| Повернення файлів для друку на Bluetooth принтер
|-
|<span style="color:#ff0000"><center>*</center></span>
| DontClose
| Bool
| Hе закривати рахунок після оплати (за замовчуванням рахунок буде закрито) (необов'язковий параметр)
|-
|<span style="color:#ff0000"><center></center></span>
| PayInfo
| String
| String
| GUID-код рахунку
| Інформація про оплату де:<br>
InvNum - номер інвойсу або номер відстеження в платіжій системі ;<br>
RRN - унікальний ідентифікатор банківської транзакції;<br>
TerminalID - Ідентифікатор терміналу, який використовується для обробки платежу;<br>
SignVerif - 0 ПІдпис не потрібен; 1 Підпис потрібен;<br>
PayType - тип операції, оплата, повернення, видача коштів..;<br>
PAN - Номер рахунку платника (Primary Account Number), який зазвичай маскується для безпеки;<br>
AuthCode - код авторизації, який надається банком або платіжною мережею для підтвердження транзакції;<br>
IssuerName -  назва емітента картки, наприклад, MasterCard або Visa;<br>
emvAID - Поле emvAID в платіжній системі означає Application Identifier (AID), який є ідентифікатором конкретного додатку картки;
Acquirer - ІД торговця, ідентифікатор здобувача, який зазвичай вказує на банк або фінансову установу, що обробляє платіж;<br>
MerchantID та MerchID - Ідентифікатори торговця, які використовуються для ідентифікації продавця в платіжній системі;<br>
Acquirer - Ідентифікатор здобувача, який зазвичай вказує на банк або фінансову установу, що обробляє платіж<br>
|-
!style="width:50%;" scope="row" colspan="4"|Параметри що використовуються тільки для закриття на номер.  Для  отримання параметрів використовувати функцію GetHMSGuests.
|-
|<span style="color:#ff0000"><center>*</center></span>
| AccountID
| Int
| ID аккаунту
|-
|<span style="color:#ff0000"><center>*</center></span>
| DepositID
| Int
| ID депозиту
|-
|
| Deposit
| Decimal
| Депозит
|-
|
| PaySubType
| Int
| Tип закриття
|-
|-
!style="width:50%; background:#accae4;" scope="row" colspan="4"| * Позначення обов’язкового параметру
!style="width:50%; background:#accae4;" scope="row" colspan="4"| * Позначення обов’язкового параметру
Рядок 98: Рядок 173:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
"Error": "",
    "Error": "",
     "Success": true,
     "Success": true,
     "BillID": 19738,
     "Files": []
    "BillNumber": 15978,
    "Number": 15978,
    "BillType": 2,
    "BlockedStationCode": null,
    "BlockedUserName": null,
    "Closed": "2022-07-18 12:24:03",
    "Comment": null,
    "CompanyCode": null,
    "CompanyName": null,
    "Description": null,
    "EventName": null,
    "FirstDate": null,
    "IsPaid": true,
    "IsPrepared": true,
    "LastDate": null,
    "Locked": null,
    "PlaceCode": "TABLE300818110717487",
    "Printed": "2022-07-18 12:23:44",
    "ShortComment": null,
    "SubTotal": 595,
    "Total": 535.5,
    "UserName": "Expert Solution",
    "Items": [
        {
            "BillItemID": 25647,
            "CategoryID": 147,
            "CategoryName": "МОЯ КАТЕГОРИЯ",
            "Comment": null,
            "ComplexID": null,
            "Description": null,
            "EnterpriseID": 205,
            "EnterpriseTaxCode": null,
            "ExciseStamp": false,
            "ExciseStamps": null,
            "ItemType": "        ",
            "Name": "Коктейль Оголена Crazy Даша",
            "Ordered": "2022-07-18 12:23:44",
            "ParentID": null,
            "PhotoUrl": null,
            "PickUp": 0,
            "Pos": 0,
            "Price": 300,
            "Quantity": 1,
            "Seat": 0,
            "SectionID": 3101,
            "ShortName": "Коктейль Оголена Crazy Даша",
            "Status": 1,
            "SubItemID": null,
            "TarifItemID": 14445,
            "Total": 270,
            "TypeID": null
        },
        {
            "BillItemID": 25648,
            "CategoryID": 147,
            "CategoryName": "МОЯ КАТЕГОРИЯ",
            "Comment": null,
            "ComplexID": null,
            "Description": null,
            "EnterpriseID": 205,
            "EnterpriseTaxCode": null,
            "ExciseStamp": false,
            "ExciseStamps": null,
            "ItemType": "        ",
            "Name": "Коктейль Госпожа",
            "Ordered": "2022-07-18 12:23:44",
            "ParentID": null,
            "PhotoUrl": null,
            "PickUp": 0,
            "Pos": 0,
            "Price": 295,
            "Quantity": 1,
            "Seat": 0,
            "SectionID": 3101,
            "ShortName": "Коктейль Госпожа",
            "Status": 1,
            "SubItemID": null,
            "TarifItemID": 14453,
            "Total": 265.5,
            "TypeID": null
        }
    ],
    "Discounts": [
        {
            "Applied": "2022-07-15 11:50:41",
            "BillID": 19738,
            "CardID": null,
            "Discount": 10.0000,
            "DiscountID": 7516,
            "DiscountType": 3,
            "OwnerCode": null,
            "OwnerID": null,
            "OwnerName": null
        }
    ],
    "IdTemps": [
        {
            "idTemp": 431492278
        },
        {
            "idTemp": 619128041
        },
        {
            "idTemp": 1113879060
        },
        {
            "idTemp": 856863549
        }
    ],
    "ChangeDate": "2022-07-18 12:24:03",
    "ChangeDateUTC": "2022-07-18T09:24:03.71Z",
    "WaitedFor": null,
    "WaitedFrom": null,
    "EstimatedPaymentID": null,
    "EstimatedPaymentName": null,
    "CodeGUID": "6049AF6A-54D9-48E2-AA7C-B0A4D15E1081",
    "AdvancePay": 0,
    "IsUseCard": false,
    "GuestCount": 3,
    "DeliveryAddressComment": null,
    "DeliveryComment": null,
    "OpenUserID": 0,
    "idTemp": null,
    "NumType": 1,
    "NumName": "Рахунок гостя"
}
}
</syntaxhighlight>
</syntaxhighlight>
Рядок 251: Рядок 201:
|-
|-
|  
|  
| BillType
|<span style="color:#9966CC"> Files</span>
| Int
|<span style="color:#9966CC"> Files []</span>
| Тип рахунку: <br>
| Перелік файлів для Bluetooth принтера при ReturnResult = true
1 – звичайний рахунок;<br>
2 – рахунок закрито і не можна редагувати;<br>
3 – рахунок відкритий і сплачений<br>
4 – рахунок бронювання (для готельної системи за замовчуванням;<br>
8 – рахунок доставки
|-
|
| FirstDate
| Datetime
| Дата початку надання послуг. Для рахунків бронювання обов”язковий параметр, для інших ігнорується
|-
|-
|  
|  
| BillID
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> File
| Int
| ID рахунку
|-
|
| LastDate
| Datetime
| Дата закінчення надання послуг. Для рахунків бронювання обов”язковий параметр, для інших ігнорується
|-
|
| UserName
| String [64]
| Користувач що створив рахунок
|-
|
| PlaceCode
| String [32]
| Код місця надання послуги для рахунків бронювання, допустиме значення NULL для інших
|-
|
| EventName
| String [32]
| Назва заходу для рахунків бронювання, допустиме значення NULL для інших
|-
|
| CompanyCode
| String [32]
| Код компанії, допустиме значення NULL
|-
|
| CompanyName
| String [32]
| Назва компанії, допустиме значення NULL
|-
|
| Description
| String [500]
| Опис рахунку, допустиме значення NULL
|-
|
| ShortComment
| String [255]
| Короткий коментар до рахунку
|-
|
| Total
| Decimal
| Сума по рахунку
|-
|
| SubTotal
| Decimal
| Сума по рахунку без знижки
|-
|
| IsPrepared
| Boolean
| Ознака підготовки рахунку до закриття (встановлюється перед сплатою рахунку і його закриттям)
|-
|
| Printed
| Datetime
| Дата друку рахунку
|-
|
| Closed
| Datetime
| Дата закриття рахунку
|-
|
| Locked
| Datetime
| Дата блокування
|-
|
| IsPaid
| Boolean
| Рахунок сплачений
|-
|
| IsUseCard
| Boolean
| Чи додана до рахунку картка
|-
|
| NumType
| Int
| Вид рахунку (Null якщо немає)
|-
|
| GuestCount
| Int
| Кількість гостей
|-
|
| NumName
| String
| Назва виду рахунку (Null якщо немає)
|-
|
| DeliveryComment
| String
| Коментар до рахунку доставки
|-
|
| DeliveryAddressComment
| String
| Коментар до адреси доставки
|-
|
| DeliveryPersonComment
| String
| Коментар до персони
|-
|
| idTemp
| Int
| Тимчасовий код рахунку
|-
|
| ChangeDate
| Datetime
| Дата зміни
|-
|
| WaitedFrom
| Datetime
|  Дата доставки замовлення (з)
|-
|
| WaitedFor
| Datetime
| Дата доставки замовлення (до)
|-
|
| <span style="color:#ff0000">Items</span>
| <span style="color:#ff0000">BillList [] </span>
| Массив опису номенклатури. Елементи масиву з наступними полями:
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> BillItemID
| Int
| ID позиції рахунку
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> ParentID
| Int
| ID-вказівник батьківської/базової позиції рахунку
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> TarifItemID
| Int
| ID номенклатури
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> ModifierID
|  Int
| ID модифікатора стану (для режиму авторизації)
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Name
| String [128]
| Назва номенклатури
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> ShortName
| String [32]
| Коротка назва номенклатури
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Description
| String [500]
| Опис номенклатури
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Comment
| String [1024]
| Kоментар до позиції
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Quantity
| Decimal
| Кількість номенклатури
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Price
| Decimal
| Ціна за одиницю номенклатури
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> SectionID
| Int
| ID відділу
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Total
| Decimal
| Ціна позиції (після знижки или вручну тільки за авторизацією)
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> ItemType
| String [32]
| Тип суб-позиції
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> PhotoUrl
| String [128]
| Url вказівник на картинку в інтернеті
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> ComplexID
| Int
| ID комплексу
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> SubItemName
| String
| Назва номенклатури інгридієнту комплексу за замовчуванням
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Ordered
| Datetime
| Дата замовлення позиції рахунку
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Status
| Int
| Статус блюда:<br>
0 – не замовлено,<br>
1 – замовлено,<br>
2 – прийнято в роботу,<br>
4 – готово,<br>
7 – готово до відвантаження
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> IsManualPrice
| Int
| Можливість застосування ручної ціни (для режиму авторизації)
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Seat
| Int
| Номер клієнта
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> Pos
| Int
| Порядок виносу
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> BillItemTempID
| Int
| Тимчасовий код
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> TimeOut
| Int
| Через скільки хвилин винос
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> EnterpriseTaxCode
| String
| Код зведення (відповідає поєднанню підприємства і податку)
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> TypeID
| Int
| Тип номенклатури (для режиму авторизації)<br>
0 - Надбавка<br>
1 - Продукція (можлива не ціла кількість)<br>
2 - Продукція (поштучно – тільки ціла кількість)<br>
3 - Продукція (за вагою)<br>
4 - Товар (можлива не ціла кількість)<br>
5 - Товар (поштучно – тільки ціла кількість)<br>
6 - Товар (за вагою)<br>
7 -  Послуга
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#ff0000">'''|'''</span> ExciseStamps
| String []
| Масив акцизних марок
|-
|
| <span style="color:#9966CC">Discounts</span>
| <span style="color:#9966CC">DiscountList []</span>
| Масив знижок по рахунку з наступними полями (тільки після авторизації)
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> DiscountID
| Int
| ID дисконту
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> BillID
| Int
| ID рахунку
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> DiscountType
| Int
| Тип знижки:<br>
1 - картка,<br>
2 - по групі карток, <br>
3 - у відсотковому вираженні, <br>
4 - в грошовому, <br>
5 - акційний купон
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> Applied
| String [128]
| Час застосування
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> OwnerID
| Int
| ID персони
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> OwnerName
| String [500]
| Iм'я персони
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> OwnerCode
| String [1024]
| Kод персони
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> Discount
| Decimal
| Дисконт (% або сума, залежить від DiscountType)
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#9966CC">'''|'''</span> CardID
| Int
| ID дисконтної картки
|-
|
| <span style="color:#FF1493">IdTemps </span>
| <span style="color:#FF1493">IdTemp []</span>
| Масив id Temp
|-
|
||&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#FF1493">'''|'''</span> idTemp
| Int
| Тимчасовий ID позиції при створенні в рахунку
|-
|
| CodeGUID
| String
| GUID-код
|-
|
| AdvancePay
| Decimal
| Сума передплати
|-
|
| BlockedUserName
| String
| Iм'я користувача що заблокував рахунок
|-
|
| BlockedStationCode
| String
| String
| Код станції з якої заблокували рахунок
| Файл для друку
|-
|-



Поточна версія на 09:21, 31 липня 2024

Функція оплачує рахунок і закриває його

Розділ містить методи, необхідні для оплати рахунку за номером 


Опис Оплата рахунку.
Метод POST
URL /POSExternal/Bill_PaymentExt



Request Headers
KEY VALUE
Content-Type application/json
AccessToken



Body raw (json)
 {
    "AccountID": 0,
    "BillID": 17572,
    "Deposit": 0.0,
    "DepositID": 0,
    "Description": "",
    "DontClose": false,
    "id": 828411040,
    "PaySubType": 0,
    "PaymentID": 2441,
    "ReturnResult": false,
    "Summ": 22000.0,
    "SystemCode": "4503",
    "Tips": 28.48,
    "PayInfo": "<?xml version="1.0" encoding="utf-16"?><ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><PAYINFO InvNum="1282" RRN="000019186564" TerminalID="50920432" SignVerif="0" PayType="" PAN="XXXXXXXXXXXX1649" AuthCode="800368" IssuerName="MasterCard" emvAID="A0000000041010" Acquirer="0" MerchantID="40913422" MerchID="40913422" /></ROOT>"
 }



Типи даних Body
* Параметр Тип Опис
SystemCode String [32] Код системи
*
BillID Int ID рахунку
*
PaymentID Int ID оплати
CardCode String Код карти для типу оплаты картою (в інших ігнорується)
*
Summ Int Cума оплати в копійках
Tips Decimal Cума чайових
Description String [500] Подробиці оплати (бажано додавати зміну за якої була проведена оплата, RRN, код карти, номер розрахункового рахунку, і т.д.)
BonusSum Decimal Cума бонусів
ReturnResult Bool Повернення файлів для друку на Bluetooth принтер
*
DontClose Bool Hе закривати рахунок після оплати (за замовчуванням рахунок буде закрито) (необов'язковий параметр)
PayInfo String Інформація про оплату де:

InvNum - номер інвойсу або номер відстеження в платіжій системі ;
RRN - унікальний ідентифікатор банківської транзакції;
TerminalID - Ідентифікатор терміналу, який використовується для обробки платежу;
SignVerif - 0 ПІдпис не потрібен; 1 Підпис потрібен;
PayType - тип операції, оплата, повернення, видача коштів..;
PAN - Номер рахунку платника (Primary Account Number), який зазвичай маскується для безпеки;
AuthCode - код авторизації, який надається банком або платіжною мережею для підтвердження транзакції;
IssuerName - назва емітента картки, наприклад, MasterCard або Visa;
emvAID - Поле emvAID в платіжній системі означає Application Identifier (AID), який є ідентифікатором конкретного додатку картки; Acquirer - ІД торговця, ідентифікатор здобувача, який зазвичай вказує на банк або фінансову установу, що обробляє платіж;
MerchantID та MerchID - Ідентифікатори торговця, які використовуються для ідентифікації продавця в платіжній системі;
Acquirer - Ідентифікатор здобувача, який зазвичай вказує на банк або фінансову установу, що обробляє платіж

Параметри що використовуються тільки для закриття на номер. Для отримання параметрів використовувати функцію GetHMSGuests.
*
AccountID Int ID аккаунту
*
DepositID Int ID депозиту
Deposit Decimal Депозит
PaySubType Int Tип закриття
* Позначення обов’язкового параметру
Додатковий опис вихідних параметрів



Response (json)
{
    "Error": "",
    "Success": true,
    "Files": []
}



Типи даних Response
* Параметр Тип Опис
Error String [] Опис помилки, що виникла
Success Bool Успіх виконання запиту
Files Files [] Перелік файлів для Bluetooth принтера при ReturnResult = true
     | File String Файл для друку
* Позначення обов’язкового параметру
Додатковий опис вхідних параметрів