-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathexample.py
102 lines (85 loc) · 5.92 KB
/
example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
from datetime import datetime
from decimal import Decimal
from client import OrangeDataClient
def main():
config = {
'inn': '3123011520',
'api_url': 'https://apip.orangedata.ru:2443',
'sign_pkey': 'private_key.pem',
'client_key': 'client.key',
'client_cert': 'client.crt',
}
client = OrangeDataClient(**config)
order_number = 'teleport-201810181602'
client.create_order(order_number, 1, '[email protected]', 1)
client.add_position_to_order(6.123456, Decimal('10.'), 1, 'matches', 1, 10)
client.add_position_to_order(7, Decimal(10), 1, 'matches2', 4, 10)
client.add_position_to_order(345., Decimal(10.76), 1, 'matches3', 3)
client.add_payment_to_order(1, Decimal(131.23))
client.add_payment_to_order(2, Decimal(3712.2))
client.add_agent_to_order(127, ['+79998887766', '+76667778899'], 'Operation', ['+79998887766'], ['+79998887766'],
'Name', 'ulitsa Adress, dom 7', '3123011520', ['+79998887766', '+76667778899'])
client.add_user_attribute('Любимая цитата', 'В здоровом теле здоровый дух, этот лозунг еще не потух!')
# client.send_order()
# order = client.get_order_status('teleport-201810181601')
client.create_correction(
order_number,
0, # correctionType 1173, тип коррекции
# 0. Самостоятельно
# 1. По предписанию
3, # type Признак расчета, 1054:
# 1. Приход
# 3. Расход
' Ошибка Кассира1', # description 1177, описание коррекции Строка от 1 до 244 символов
datetime.now(),
# causeDocumentDate DateTime объект .1178, дата документа основания для коррекции В данном реквизите время
# всегда приводится, к 00:00:00. Время в виде строки в формате ISO8601
'56ce',
# causeDocumentNumber 1179, номер документа основания для коррекции Строка от 1 до 32 символов
567.9,
# totalSum 1020, сумма расчета, указанного в чеке (БСО) Десятичное число с точностью до 2 символов после точки
567,
# cashSum 1031, сумма по чеку (БСО) наличными Десятичное число с точностью до 2 символов после точки
0.9,
# eCashSum 1081, сумма по чеку (БСО) электронными Десятичное число с точностью до 2 символов после точки
0,
# prepaymentSum 1215, сумма по чеку (БСО) предоплатой (зачетом аванса и (или) предыдущих платежей) Десятичное
# число с точностью до 2 символов после точки
0,
# postpaymentSum 1216, сумма по чеку (БСО) постоплатой (в кредит) Десятичное число с точностью до 2 символов
# после точки
0,
# otherPaymentTypeSum 1217, сумма по чеку (БСО) встречным предоставлением Десятичное число с точностью до 2
# символов после точки
0,
# tax1Sum 1102, сумма НДС чека по ставке 18% Десятичное число с точностью до 2 символов после точки
0,
# tax2Sum 1103, сумма НДС чека по ставке 10% Десятичное число с точностью до 2 символов после точки
0,
# tax3Sum 1104, сумма расчета по чеку с НДС по ставке 0% Десятичное число с точностью до 2 символов после точки
0,
# tax4Sum 1105, сумма расчета по чеку без НДС Десятичное число с точностью до 2 символов после точки
0,
# tax5Sum 1106, сумма НДС чека по расч. ставке 18/118 Десятичное число с точностью до 2 символов после точки
0,
# tax6Sum 1107, сумма НДС чека по расч. ставке 10/110 Десятичное число с точностью до 2 символов после точки
2, # taxationSystem 1055, применяемая система налогообложения
# 0. Общая
# 1. Упрощенная доход
# 2. Упрощенная доход минус расход
# 3. Единый налог на вмененный доход
# 4. Единый сельскохозяйственный налог
# 5. Патентная система налогообложения
# Число
'1',
# group Группа устройств, с помощью которых будет пробит чек Строка от 1 до 32 символов или None.
# Опциональный параметр.
None,
# key Название ключа который должен быть использован для проверки подпись. Опциональный параметр.
# Если имя ключа не указано для проверки подписи будет использован ключ, заданный по умолчанию.
# Строка от 1 до 32 символов либо None
)
client.post_correction()
print(client.get_correction_status(order_number))
if __name__ == '__main__':
main()