{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Клиенты и верификация","description":"Регистрация покупателя (POST /sbp/customers) и верификация паспорта РФ по ссылке (POST /sbp/customers/{id}/kyc): статусы, причины отказа.","siteUrl":"https://b2b-app.lumowallet.io","lang":"ru-RU","keywords":"Lumo B2B, платёжный API, крипто-платежи, USDT, TRC-20, СБП QR, виртуальные карты VISA, выплаты в рублях","image":"https://b2b-app.lumowallet.io/og-cover.png","meta":[{"name":"twitter:card","content":"summary_large_image"},{"name":"og:type","content":"website"},{"name":"og:site_name","content":"Lumo B2B"},{"name":"og:locale","content":"ru_RU"}],"jsonLd":{"@context":"https://schema.org","@type":"Organization","name":"Lumo B2B","url":"https://b2b-app.lumowallet.io","logo":"https://b2b-app.lumowallet.io/apple-touch-icon.png","description":"Крипто-платежи для бизнеса: приём по QR СБП, депозиты USDT, виртуальные VISA-карты и выплаты в рублях.","sameAs":["https://t.me/LumoB2B"]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"клиенты-и-верификация","__idx":0},"children":["Клиенты и верификация"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"регистрация-клиента","__idx":1},"children":["Регистрация клиента"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"POST /sbp/customers\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Регистрирует покупателя под вашим идентификатором. Повторный вызов с тем же"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}," второго клиента не создаёт: он обновит email и телефон и вернёт"," ","того же клиента. Нужно право ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sbp.create"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Параметр"},"children":["Параметр"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Тип"},"children":["Тип"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Обяз."},"children":["Обяз."]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Описание"},"children":["Описание"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ваш идентификатор клиента, до 128 символов"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Email клиента"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["phone"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Российский мобильный номер, оформленный на самого клиента по его текущему паспорту: банк сверяет номер с паспортом, и с этого номера клиент будет платить"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Телефон принимаем в любом виде: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+7 999 123-45-67"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["89991234567"]},". Номер"," ","не российский или не мобильный — ответ ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400 SBP_CUSTOMER_INVALID"]},". Новый"," ","телефон начнёт действовать со следующего заказа."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST 'https://b2b.lumowallet.io/sbp/customers' \\\n  -H 'X-API-Key: YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"customerId\": \"cust-8841\",\n    \"email\": \"ivan@example.com\",\n    \"phone\": \"+79991234567\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"customerId\": \"cust-8841\",\n  \"email\": \"ivan@example.com\",\n  \"phone\": \"+79991234567\",\n  \"kycStatus\": \"none\",\n  \"kycReason\": null,\n  \"kycTerminal\": false,\n  \"canBuy\": false,\n  \"verifiedAt\": null,\n  \"createdAt\": \"2026-10-24T10:12:40.512Z\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ссылка-на-верификацию","__idx":2},"children":["Ссылка на верификацию"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"POST /sbp/customers/{customerId}/kyc\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Возвращает ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["verificationUrl"]},". Откройте её клиенту в браузере или в WebView"," ","с доступом к камере, лучше с телефона. Понадобятся внутренний паспорт РФ"," ","и селфи."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Параметр"},"children":["Параметр"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Тип"},"children":["Тип"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Обяз."},"children":["Обяз."]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Описание"},"children":["Описание"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["callbackUrl"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["нет"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Куда вернуть клиента после проверки, только ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST 'https://b2b.lumowallet.io/sbp/customers/cust-8841/kyc' \\\n  -H 'X-API-Key: YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"callbackUrl\": \"https://example.com/kyc-done\" }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"customerId\": \"cust-8841\",\n  \"kycStatus\": \"verifying\",\n  \"kycReason\": null,\n  \"kycTerminal\": false,\n  \"canBuy\": false,\n  \"verificationUrl\": \"https://verify.didit.me/session/…\",\n  \"…\": \"…\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Не храните ссылку"]},", запрашивайте её каждый раз, когда клиент возвращается"," ","к проверке. Пока проверка не закончена, мы отдаём ту же сессию, и клиент"," ","продолжит с того места, где остановился."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["verificationUrl: null"]}," означает, что открывать нечего: клиент уже"," ","верифицирован, его данные проверяет банк или он получил окончательный отказ."," ","Смотрите на ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycStatus"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"статус-клиента","__idx":3},"children":["Статус клиента"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET /sbp/customers/{customerId}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Тело то же, что при регистрации. Статус меняется сам, о каждом изменении"," ","приходит вебхук ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sbp.customer.kyc_updated"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"kycStatus"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycStatus"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Что происходит"},"children":["Что происходит"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["none"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Проверку не начинали, или сессия истекла (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycReason: didit_session_expired"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["verifying"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Клиент проходит проверку паспорта"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submitting"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Паспорт проверен, передаём данные банку"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["provider_pending"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Банк проверяет данные. Обычно это секунды, изредка дольше"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["verified"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Можно покупать, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["canBuy: true"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rejected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Отказ, причина в ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycReason"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Показывайте кнопку покупки только при ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["canBuy: true"]},"."]}," Котировка"," ","неверифицированному клиенту вернёт ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["412 SBP_CUSTOMER_NOT_VERIFIED"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"отказы","__idx":4},"children":["Отказы"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycTerminal"]}," подсказывает, что делать при ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rejected"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," — можно повторить: снова вызовите"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /sbp/customers/{customerId}/kyc"]},". После ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["didit_declined"]},","," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_patronymic_missing"]}," и ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_unreadable"]}," придёт новая ссылка,"," ","число попыток ограничено,"," ","обычно три за неделю. После отказа банка"," ","(",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aura_…"]},") паспорт и селфи заново не нужны: вызов просит банк перепроверить"," ","клиента, новый статус приходит сразу в ответе."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," — повтор не поможет. Решение принимает поддержка."]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"kycReason"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycReason"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"center","data-label":"Окончательный"},"children":["Окончательный"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Что произошло"},"children":["Что произошло"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["didit_declined"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["нет"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Проверка паспорта не пройдена: плохое фото, селфи не совпало и т. п."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_not_russian_passport"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Документ не является внутренним паспортом РФ"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_name_not_cyrillic"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["В паспорте не распознано ФИО кириллицей"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_patronymic_missing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["нет"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Отчество не распознано, паспорт в банк не отправлен. Клиенту нужно пройти проверку заново, сфотографировав паспорт целиком и чётко"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_unreadable"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["нет"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Данные с разворота не совпали с машиночитаемой строкой внизу страницы или её не удалось прочитать, паспорт в банк не отправлен. Клиенту нужно пройти проверку заново: разворот целиком, ровно, без бликов на нижних строках"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_already_used"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Паспорт уже привязан к другому покупателю"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["passport_invalid"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["да"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Банк счёл паспорт недействительным"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aura_…"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["по ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycTerminal"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Отказ банка, причина после префикса"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Причины с префиксом ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aura_"]}," приходят от банка как есть. Список может"," ","расширяться, поэтому опирайтесь на ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycTerminal"]},", а не на конкретное значение."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Частый исправимый отказ — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PhoneNumberFailed"]}," в ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kycReason"]},": банк не связал"," ","телефон с паспортом. Так бывает, если номер оформлен на другого человека или"," ","на старый паспорт клиента. Передайте номер, оформленный на клиента, через"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /sbp/customers"]}," (или пусть клиент обновит паспорт у своего оператора) и"," ","снова вызовите ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /sbp/customers/{customerId}/kyc"]},"."]}]},"headings":[{"value":"Клиенты и верификация","id":"клиенты-и-верификация","depth":1},{"value":"Регистрация клиента","id":"регистрация-клиента","depth":2},{"value":"Ссылка на верификацию","id":"ссылка-на-верификацию","depth":2},{"value":"Статус клиента","id":"статус-клиента","depth":2},{"value":"Отказы","id":"отказы","depth":3}],"frontmatter":{"seo":{"description":"Регистрация покупателя (POST /sbp/customers) и верификация паспорта РФ по ссылке (POST /sbp/customers/{id}/kyc): статусы, причины отказа.","title":"Клиенты и верификация"}},"lastModified":"2026-11-04T10:07:49.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/sbp-buy/customers-kyc","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}