API. Mailchecker
В связи с невозможность проверки некоторых типов чека мы предлагаем использовать проверку чеков через отправку на Email.
Создания ящика для транзакции
POST
/api/v1/signature/proofs
Headers
Content-Type
application/json
Signature
<signature>
Правило создания сигнатуры
Сигнатура создается путем получения SHA-1 от вашего API-secret и json-строки body
let raw_body = JSON.stringify(JSON.parse(body));
let api_secret = "<SECRET>";
let hash = CryptoJS.SHA1(api_secret + raw_body);
let signature = CryptoJS.enc.Hex.stringify(hash);
Body
client_id
string *
CLIENT_ID для авторизации запроса
requisite
string *
+79001234567
Номер реквизита
fiat_amount
number *
500
Ожидаемая сумма платежа
callback_url
string *
https://site.com/callback
Ссылка, куда пришлем колбэк после проверки письма
timestamp
number *
1741194476019
Дата, когда был выдан реквизит. UNIX формат.
metadata
json *
{
uuid: "your-uuid",
somethingElse: "..."
}
Должна содержать поле uuid, где будет указан номер вашей транзакции. Так же можно поместить любую другую информацию. Это поле прийдет в колбэке
bank_name
string
Сбербанк
Название банка получателя, если требуется проверка (только для СБП)
group_id
string
1234
Если требуется предоставлять разграниченный доступ разным категориям саппорта, то можно передавать group_id. Только саппорты относящиеся к данной группе смогут увидеть эти транзакции.
Response
В ответ получите инструкции по отправке письма и сам почтовый ящик. Для Яндекс-банка мы проверяем чек через предоставление прямой ссылки согласно инструкции.
{
"id": 32576,
"created_at": "2025-07-03T12:13:27.468+03:00",
"uuid": "<INTERNAL_UUID>",
"email": "[email protected]",
"requisite": "+79001234567",
"fiat_amount": 500.0,
"bank_code": "100000000111",
"web_url": "https://mailbox-api.ttr.cx/emails/<INTERNAL_UUID>",
"bank": {
"name": "Сбербанк"
},
"callback_url": "https://webhook.site/e72cf3e2-0e73-493d-937f-5a563c0ce6d9",
"state": "created",
"final_fiat_amount": 0.0,
"instructions": {
"sovkom": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/sovkom",
"email": "[email protected]"
},
"otp": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/otp",
"email": "[email protected]"
},
"tinkoff": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/tinkoff",
"email": "[email protected]"
},
"raiffeisen": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/raiffeisen",
"email": "[email protected]"
},
"rus_standart": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/rus_standart",
"email": "[email protected]"
},
"psb": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/psb",
"email": "[email protected]"
},
"uralsib": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/uralsib",
"email": "[email protected]"
},
"yandex": {
"instruction_url": "https://instructions.ttr.cx/instructions/<INTERNAL_UUID>/yandex"
}
},
"metadata": {
"uuid": "<YOUR_UUID>",
"something_else": "lalala"
},
"proof_sources": []
}
Колбэки
В зависимости от того, были ли выполнены все условия при отправке письма или нет, мы присылаем 2 типа коллбэков.
Тип Incorrect
{
"state": "incorrect",
"verdict": [
{
"got": "[email protected]",
"code": "INCORRECT_SENDER_EMAIL",
"expected": [
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]"
]
}
],
"metadata": { "uuid": "3779cb759b1c93c52af97d50ea095e6b" }
}
Возможные ошибки валидации при incorrect
INCORRECT_SENDER_EMAIL
Пользователь отправил письмо с личного почтового адреса. Решение: указать пользователю на его ошибку при отправке чека по инструкции
INCORRECT_SENDER_DOMAIN
INCORRECT_DOMAIN_RESOLVED
Подделка заголовков отправителя с целью имитировать отправку от лица банка
RECEIPT_WRONG_STATUS
Чек имеет незафиналенный статус
RECEIPT_WRONG_DATE
Дата перевода в чеке раньше, чем дата выдачи реквизита
RECEIPT_WRONG_REQUISITE
Перевод на неверный реквизит
RECEIPT_WRONG_BANK
Перевод на неверный банк
RECEIPT_WRONG_DOCUMENT_NUMBER
Чек с данным номером документа уже был учтен ранее
Тип Success
{
"id": 32672,
"uuid": "3e05e5bd-5544-4b27-970d-5e6f7a1a1a50",
"group_id": null,
"metadata": { "uuid": "3779cb759b1c93c52af97d50ea095e6b" },
"fiat_amount": "9500.0",
"final_fiat_amount": "9500.0",
"state": "successed",
"proof_sources": [
{
"attachment": {
"id": 32421,
"created_at": "2025-07-03T15:08:22.634+03:00",
"filename": "proof.pdf",
"size": "59 KB",
"preview": "<ссылка на превью>",
"url": "<ссылка на pdf-версию чека>"
}
}
]
}
Обратите внимание, что вы будете получать данный коллбэк всякий раз, когда пользователь пришлет верный чек по данной транзакции, который ранее не был нигде учтен. В ответе присутствует 2 поля: fiat_amount (текущая сумма успеха по чеку) и final_fiat_amount (общая сумма успеха по транзакции)
uuid
UUID в системе майлчекера
group_id
ID группы, если передано
metadata
переданная при создании запроса metadata
fiat_amount
текущая сумма успеха по чеку
final_fiat_amount
общая сумма успеха по транзакции
state
successed
proof_sources
Массив всех присланных писем
Last updated