API /sandbox/v2/invoice/v1.0/bills

Avatar
  • обновлен

Взял пример запроса на python из https://developers.tochka.com/docs/tochka-api/api/create-invoice-invoice-api-version-bills-post sandbox


но всегда получаю {"code":"403","id":"db8f7cf2-5653-4442-930d-4b07906a2a6c","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Что может быть не так?

Avatar
Команда Точки Администратор
Цитата от love apples

Провел GET реквест по https://developers.tochka.com/docs/tochka-api/api/get-retailers-acquiring-api-version-retailers-get с указанным customerCode из https://developers.tochka.com/docs/tochka-api/api/get-customers-list-open-banking-api-version-customers-get - ошибка та же, про Retailer not found

Верно понимаем, интерннет-эквайринг у вас подключён?
Avatar
love apples
Цитата от Команда Точки
Для работы с платёжными ссылками/подписками нужно подключить интернет-эквайринг, сделать это можно в личном кабинете Точки.
Проверит статус подключения интернет-эквайринга можно с помощью метода Get Retailers (https://developers.tochka.com/docs/tochka-api/api/get-retailers-acquiring-api-version-retailers-get)
Статус REG и значение isActive: «true» будут означать, что настройка завершилась и можно приступать к работе с платёжными ссылками.

Провел GET реквест по https://developers.tochka.com/docs/tochka-api/api/get-retailers-acquiring-api-version-retailers-get с указанным customerCode из https://developers.tochka.com/docs/tochka-api/api/get-customers-list-open-banking-api-version-customers-get - ошибка та же, про Retailer not found

Avatar
Команда Точки Администратор
Цитата от love apples

Спасибо! Получили список из API, взяли customerCode по customerType: "Business", но теперь пишет {"code":"424","id":"c5723617-8b12-4f77-a698-fd93d6fa2af4","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Retailer not found","url":"https://developers.tochka.com/"}]} 😬

Токен используем один. С чем это может быть связано?

Для работы с платёжными ссылками/подписками нужно подключить интернет-эквайринг, сделать это можно в личном кабинете Точки.
Проверит статус подключения интернет-эквайринга можно с помощью метода Get Retailers (https://developers.tochka.com/docs/tochka-api/api/get-retailers-acquiring-api-version-retailers-get)
Статус REG и значение isActive: «true» будут означать, что настройка завершилась и можно приступать к работе с платёжными ссылками.
Avatar
love apples
Цитата от Команда Точки
customerCode - это уникальный код клиента в Точке.

Чтобы узнать свой customerCode, нужно вызвать метод Get Customers List (https://developers.tochka.com/docs/tochka-api/api/get-customers-list-open-banking-api-version-customers-get)
Параметр customerCode необходимо брать из поля customerType: "Business".

Спасибо! Получили список из API, взяли customerCode по customerType: "Business", но теперь пишет {"code":"424","id":"c5723617-8b12-4f77-a698-fd93d6fa2af4","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Retailer not found","url":"https://developers.tochka.com/"}]} 😬

Токен используем один. С чем это может быть связано?

Avatar
Команда Точки Администратор
Цитата от love apples

Можно, пожалуйста, поподробнее про customerCode? Сейчас работаю с другим методом https://developers.tochka.com/docs/tochka-api/api/create-payment-operation-acquiring-api-version-payments-post и получаю ошибку {"code":"403","id":"17f1678b-b84b-46de-b0fe-1dab9e2fd2f6","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Предполагаю, что это из-за customerCode. В частности хотелось бы узнать как он получается для корректной отправки запроса

customerCode - это уникальный код клиента в Точке.

Чтобы узнать свой customerCode, нужно вызвать метод Get Customers List (https://developers.tochka.com/docs/tochka-api/api/get-customers-list-open-banking-api-version-customers-get)
Параметр customerCode необходимо брать из поля customerType: "Business".
Avatar
love apples

Можно, пожалуйста, поподробнее про customerCode? Сейчас работаю с другим методом https://developers.tochka.com/docs/tochka-api/api/create-payment-operation-acquiring-api-version-payments-post и получаю ошибку {"code":"403","id":"17f1678b-b84b-46de-b0fe-1dab9e2fd2f6","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Предполагаю, что это из-за customerCode. В частности хотелось бы узнать как он получается для корректной отправки запроса

Avatar
Команда Точки Администратор
Цитата от love apples

Доброе утро! Может ли причиной этой ошибки на боевом сервере быть заблокированный счёт?

Так как вы работаете в песочнице, это не должно повлиять. В песочнице есть свои тестовые данные, которые нужно использовать для вызова запросов. Когда вы перейдёте на боевой слой, нужно использовать реальные существующие данные, такие как свои accountId и customerCode.
В том числе и реквизиты контрагента должны тоже быть настоящими, чтобы сформировать счёт на оплату.
Avatar
love apples
Цитата от Команда Точки
Уточним информацию у коллег по вашему вопросу и вернёмся с ответом завтра.

Доброе утро! Может ли причиной этой ошибки на боевом сервере быть заблокированный счёт?

Avatar
Команда Точки Администратор
Цитата от love apples

Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из https://developers.tochka.com/docs/tochka-api/api/create-invoice-invoice-api-version-bills-post и подкорректирован по вашему ответу, а именно customerCode и Bearer sandbox.jwt.token).
На боевом, к слову, та же ошибка. 

import requests

import json

url = "https://enter.tochka.com/sandbox/v2/invoice/v1.0/bills"

payload = json.dumps({

"Data": {

"accountId": "40817810802000000008/044525104",

"customerCode": "1234567ab",

"SecondSide": {

"accountId": "40817810802000000008/044525104",

"legalAddress": "624205, РОССИЯ, СВЕРДЛОВСКАЯ обл, ЛЕСНОЙ г, ЛЕНИНА ул, ДОМ 96, офис КВ. 19",

"kpp": "668101001",

"bankName": "ООО БАНК ТОЧКА",

"bankCorrAccount": "30101810745374525104",

"taxCode": "660000000000",

"type": "company",

"secondSideName": "ООО Студия дизайна М-АРТ"

},

"Content": {

"Invoice": {

"Positions": [

{

"positionName": "Название товара",

"unitCode": "шт.",

"ndsKind": "nds_0",

"price": "1234.56",

"quantity": "1234.567",

"totalAmount": "1234.56",

"totalNds": "1234.56"

}

],

"date": "2010-10-29",

"totalAmount": "1234.56",

"totalNds": "1234.56",

"number": "1",

"basedOn": "Основание платежа",

"comment": "Комментарий к платежу",

"paymentExpiryDate": "2020-01-20"

}

}

}

})

headers = {

'Content-Type': 'application/json',

'Accept': 'application/json',

'Authorization': 'Bearer sandbox.jwt.token'

}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

{"code":"403","id":"b4f3fb78-cf7b-44ce-94d5-479ae872f269","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Спасибо, что подождали нас 😌
Здесь ещё нужно подкорректировать сам accountId на: 12345810901234567890/044525104
А в secondSide оставьте то, что есть, и повторите запрос.

Avatar
Команда Точки Администратор
Цитата от love apples

Сделал все по вашему совету, но проблема, к сожалению, не исчезла (код полностью скопирован из https://developers.tochka.com/docs/tochka-api/api/create-invoice-invoice-api-version-bills-post и подкорректирован по вашему ответу, а именно customerCode и Bearer sandbox.jwt.token).
На боевом, к слову, та же ошибка. 

import requests

import json

url = "https://enter.tochka.com/sandbox/v2/invoice/v1.0/bills"

payload = json.dumps({

"Data": {

"accountId": "40817810802000000008/044525104",

"customerCode": "1234567ab",

"SecondSide": {

"accountId": "40817810802000000008/044525104",

"legalAddress": "624205, РОССИЯ, СВЕРДЛОВСКАЯ обл, ЛЕСНОЙ г, ЛЕНИНА ул, ДОМ 96, офис КВ. 19",

"kpp": "668101001",

"bankName": "ООО БАНК ТОЧКА",

"bankCorrAccount": "30101810745374525104",

"taxCode": "660000000000",

"type": "company",

"secondSideName": "ООО Студия дизайна М-АРТ"

},

"Content": {

"Invoice": {

"Positions": [

{

"positionName": "Название товара",

"unitCode": "шт.",

"ndsKind": "nds_0",

"price": "1234.56",

"quantity": "1234.567",

"totalAmount": "1234.56",

"totalNds": "1234.56"

}

],

"date": "2010-10-29",

"totalAmount": "1234.56",

"totalNds": "1234.56",

"number": "1",

"basedOn": "Основание платежа",

"comment": "Комментарий к платежу",

"paymentExpiryDate": "2020-01-20"

}

}

}

})

headers = {

'Content-Type': 'application/json',

'Accept': 'application/json',

'Authorization': 'Bearer sandbox.jwt.token'

}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

{"code":"403","id":"b4f3fb78-cf7b-44ce-94d5-479ae872f269","message":"Что-то пошло не так","Errors":[{"errorCode":"Something going wrong","message":"Forbidden by consent","url":"https://developers.tochka.com/"}]}

Уточним информацию у коллег по вашему вопросу и вернёмся с ответом завтра.