к примеру я работаю как самозанятый и мне надо выдавать чеки через мой налог , просто в ручную выдавать очень тяжко будет когда много заказов
https://habr.com/ru/post/436656/
мой налог
мой налог
вкратце изложите чего там?
честно, здоровая портянка, мне её читать некогда.
если просто куда-то отправлять факт оплаты - это в общем-то несложно интегрируется, по примеру Komtet библиотеку напишите и всё
честно, здоровая портянка, мне её читать некогда.
если просто куда-то отправлять факт оплаты - это в общем-то несложно интегрируется, по примеру Komtet библиотеку напишите и всё
Убей их всех! Бог потом рассортирует...
-
- Сообщения: 48
- Зарегистрирован: 2010-02-02 12:52:27
мой налог
Чтобы быстро продемонстрировать концепт автоматизации используется Python 3.7.2 с библиотекой requests:
Подставьте необходимые значения — скрипт сработает, как надо. Можете добавлять обработчики ошибок и улучшать доставку — изложенный выше скрипт лишь показывает принцип работы с API НПД налоговой.
Код: Выделить всё
import requests
import datetime
import shutil
TIME_OFFSET = '+03:00'
DEVICE_ID = ''
REFRESH_TOKEN = ''
API_PROVIDER = 'https://lknpd.nalog.ru/api/v1/'
TOKEN = ''
INN = ''
def DO(method, params):
headers = {"Authorization":"Bearer "+TOKEN} if TOKEN != '' else {}
r = requests.post(API_PROVIDER+method, json=params, headers=headers)
print(r.text)
return r.json()
def get_token():
reqparam = {
"deviceInfo": {
"appVersion": "1.0.0",
"metaDetails": {
"browser": "",
"browserVersion": "",
"os": "android"
},
"sourceDeviceId": DEVICE_ID,
"sourceType": "android"
},
"refreshToken": REFRESH_TOKEN
}
res = DO('auth/token', reqparam)
# TODO: сохранять tokenExpireIn и не вызывать авторизацию каждый раз
return res['token']
# TODO: научиться нормально программировать
TOKEN = get_token()
def new_transaction(service, amount):
trans_time = datetime.datetime.now().isoformat()[:-3]+TIME_OFFSET
reqparam = {
"ignoreMaxTotalIncomeRestriction": False,
"operationTime": trans_time,
"paymentType": "CASH",
"requestTime": trans_time,
"services": [
{
"amount": amount,
"name": service,
"quantity": 1
}
],
"totalAmount": amount
}
res = DO('income', reqparam)
return res['approvedReceiptUuid']
def get_receipt(receipt_uuid):
headers = {"Authorization":"Bearer "+TOKEN}
r = requests.get(
'https://lknpd.nalog.ru/api/v1/receipt/'+INN+"/"+receipt_uuid+"/print",
stream=True,
headers=headers
)
with open('receipt.png', 'wb') as f:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
if __name__ == '__main__':
rec = new_transaction('Тестовая услуга', '1.00')
get_receipt(rec)
Подставьте необходимые значения — скрипт сработает, как надо. Можете добавлять обработчики ошибок и улучшать доставку — изложенный выше скрипт лишь показывает принцип работы с API НПД налоговой.
-
- Сообщения: 48
- Зарегистрирован: 2010-02-02 12:52:27
мой налог
да , что бы чек клиенту на email после успешной оплаты уходил
пример чека
пример чека
Код: Выделить всё
https://lknpd.nalog.ru/api/v1/receipt/503199260777/2004smetz5/print
Вернуться в «Запрос улучшений»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей