Результаты поиска
    Ничего не найдено
    Оглавление
    Маркетплейс подключает клиента

    Маркетплейс подключает клиента

    Запросы платформа отправляет в рамках интерфейса MONETA.MerchantAPI.

    Сценарии

    СценарийКогда использовать
    Полное наполнение профиляНужны ФИО, паспорт, УПРИД и счёт в одной цепочке
    Минимальное наполнение профиляДостаточно e-mail и телефона; счёт сразу после создания юнита (анонимный режим)

    Справочник методов

    ШагМетодСтраница
    1CreateProfileRequestСоздание профиля
    2CreateProfileDocumentRequestПаспортные данные
    3ApprovePhoneSendConfirmationRequestОтправка кода на телефон
    4ApprovePhoneApplyCodeRequestПроверка кода
    5SimplifiedIdentificationRequestУпрощённая идентификация
    6CreateAccountRequestСоздание счёта

    Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.

    Полное наполнение профиля
    Пример 1: регистрация физического лица с полным набором данных.
    Минимальное наполнение профиля
    Пример 2: регистрация с e-mail и телефоном.
    Создание профиля
    Паспортные данные
    Отправка кода на телефон
    Проверка кода
    Упрощённая идентификация
    Ответы асинхронной задачи
    Создание счёта

    Подразделы Маркетплейс подключает клиента

    Результаты поиска
      Ничего не найдено
      Оглавление
      Полное наполнение профиля

      Полное наполнение профиля

      Последовательность запросов для регистрации физического лица с передачей полного набора данных клиента.

      sequenceDiagram participant P as Платформа participant M as МОНЕТА.РУ P->>M: CreateProfileRequest M-->>P: CreateProfileResponse (unitId) M-->>P: URL CREATE_UNIT P->>M: CreateProfileDocumentRequest M-->>P: CreateProfileDocumentResponse opt Телефон не подтверждён на площадке P->>M: ApprovePhoneSendConfirmationRequest P->>M: ApprovePhoneApplyCodeRequest end P->>M: SimplifiedIdentificationRequest (async) M-->>P: callbackUrl + IDENTIFICATION P->>M: CreateAccountRequest M-->>P: CreateAccountResponse

      Шаги

      1. CreateProfileRequest — создание кошелька (юнита) с данными физического лица. Адрес электронной почты обязателен. Телефон можно передать с approved: true, если номер уже подтверждён на стороне платформы.
      2. Дождаться URL-уведомления CREATE_UNIT (настройка).
      3. CreateProfileDocumentRequest — паспортные данные.
      4. При необходимости — подтверждение телефона и проверка кода.
      5. SimplifiedIdentificationRequest — упрощённая идентификация (УПРИД). Обычно занимает до часа.
      6. CreateAccountRequest — лицевой счёт кошелька (укажите prototypeAccountId).

      Примечание: Если работаете только с анонимными пользователями, после шага 1 можно сразу вызвать CreateAccountRequest, минуя паспорт и УПРИД — в пределах лимитов для неперсонифицированных пользователей.

      См. также минимальное наполнение профиля.

      Результаты поиска
        Ничего не найдено
        Оглавление
        Минимальное наполнение профиля

        Минимальное наполнение профиля

        Последовательность для создания кошелька с минимальным набором данных: e-mail обязателен, остальные поля — по необходимости.

        sequenceDiagram participant P as Платформа participant M as МОНЕТА.РУ P->>M: CreateProfileRequest (email, phone, alias) M-->>P: CreateProfileResponse (unitId) M-->>P: URL CREATE_UNIT P->>M: CreateAccountRequest M-->>P: CreateAccountResponse opt Нужна УПРИД P->>M: CreateProfileDocumentRequest P->>M: SimplifiedIdentificationRequest end

        Шаги

        1. CreateProfileRequest — вариант с минимальными атрибутами (email_for_notifications, cell_phone, при необходимости alias).
        2. Дождаться URL-уведомления CREATE_UNIT.
        3. CreateAccountRequest — создание счёта (для анонимных пользователей — сразу после создания юнита).
        4. При необходимости повысить уровень идентификации — добавить паспорт и вызвать SimplifiedIdentificationRequest по сценарию полного профиля.

        См. также полное наполнение профиля.

        Создание профиля

        Создание кошелька (юнита) для физического лица — клиента платформы.

        Параметры unitId — номер юнита группы «Анонимные пользователи» (см. структуру личного кабинета).

        profileType: CLIENT.

        Адрес электронной почты (email_for_notifications) обязателен.

        С подтверждением телефона на стороне платформы

        Если номер уже подтверждён у вас, передайте cell_phone с "approved": true.

        Запрос:

        {
          "Envelope": {
            "Header": {
              "Security": {
                "UsernameToken": {
                  "Username": "USERNAME",
                  "Password": "PASSWORD"
                }
              }
            },
            "Body": {
              "CreateProfileRequest": {
                "unitId": 69804,
                "profileType": "CLIENT",
                "profile": {
                  "attribute": [
                    { "key": "last_name", "value": "Иванов" },
                    { "key": "first_name", "value": "Иван" },
                    { "key": "middle_initial_name", "value": "Иванович" },
                    {
                      "key": "cell_phone",
                      "value": "+79123456789",
                      "approved": true
                    },
                    { "key": "date_of_birth", "value": "1981-01-01" },
                    { "key": "email_for_notifications", "value": "test@test.ru" },
                    { "key": "snils", "value": "00000000000" },
                    { "key": "inn", "value": "000000000000" }
                  ]
                }
              }
            }
          }
        }

        Без подтверждения телефона на стороне платформы

        Запрос тот же, но у cell_phone не указывайте approved (или approved: false). Далее используйте подтверждение телефона.

        {
          "Envelope": {
            "Header": {
              "Security": {
                "UsernameToken": {
                  "Username": "USERNAME",
                  "Password": "PASSWORD"
                }
              }
            },
            "Body": {
              "CreateProfileRequest": {
                "unitId": 69804,
                "profileType": "CLIENT",
                "profile": {
                  "attribute": [
                    { "key": "last_name", "value": "Иванов" },
                    { "key": "first_name", "value": "Иван" },
                    { "key": "middle_initial_name", "value": "Иванович" },
                    { "key": "cell_phone", "value": "+79123456789" },
                    { "key": "date_of_birth", "value": "1981-01-01" },
                    { "key": "email_for_notifications", "value": "test@test.ru" },
                    { "key": "snils", "value": "00000000000" },
                    { "key": "inn", "value": "000000000000" }
                  ]
                }
              }
            }
          }
        }

        Минимальный набор атрибутов

        {
          "Envelope": {
            "Header": {
              "Security": {
                "UsernameToken": {
                  "Username": "USERNAME",
                  "Password": "PASSWORD"
                }
              }
            },
            "Body": {
              "CreateProfileRequest": {
                "unitId": 69804,
                "profileType": "CLIENT",
                "profile": {
                  "attribute": [
                    { "key": "cell_phone", "value": "79123456789" },
                    { "key": "email_for_notifications", "value": "test@test.ru" },
                    { "key": "alias", "value": "ALIAS" }
                  ]
                }
              }
            }
          }
        }

        Ответ:

        {
          "Envelope": {
            "Body": {
              "CreateProfileResponse": 11111
            }
          }
        }

        Сохраните unitId в своей учётной системе. Базовый profileId можно получить через GetProfileInfoRequest / CheckProfileRequest.

        После создания профиля Система МОНЕТА.РУ направит URL-уведомление CREATE_UNIT — см. URL-уведомления.

        Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.

        Результаты поиска
          Ничего не найдено
          Оглавление
          Паспортные данные

          Паспортные данные

          Добавление паспортных данных в кошелек (юнит) клиента — CreateProfileDocumentRequest.

          Запрос:

          {
            "Envelope": {
              "Header": {
                "Security": {
                  "UsernameToken": {
                    "Username": "USERNAME",
                    "Password": "PASSWORD"
                  }
                }
              },
              "Body": {
                "CreateProfileDocumentRequest": {
                  "type": "PASSPORT",
                  "unitId": 11111,
                  "attribute": [
                    { "key": "SERIES", "value": "1111" },
                    { "key": "NUMBER", "value": "000000" }
                  ]
                }
              }
            }
          }

          Ответ:

          {
            "Envelope": {
              "Body": {
                "CreateProfileDocumentResponse": {
                  "id": 11334
                }
              }
            }
          }

          Сохраните id документа — он понадобится для SimplifiedIdentificationRequest.

          Система может отправить URL-уведомление CREATE_DOCUMENT — см. URL-уведомления.

          Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.

          Результаты поиска
            Ничего не найдено
            Оглавление
            Отправка кода на телефон

            Отправка кода на телефон

            Подтверждение номера телефона клиента, если платформа не подтверждает номер на своей стороне — ApprovePhoneSendConfirmationRequest.

            Запрос:

            {
              "Envelope": {
                "Header": {
                  "Security": {
                    "UsernameToken": {
                      "Username": "USERNAME",
                      "Password": "PASSWORD"
                    }
                  }
                },
                "Body": {
                  "ApprovePhoneSendConfirmationRequest": {
                    "unitId": 11111,
                    "text": "{CODE}"
                  }
                }
              }
            }

            В поле text укажите шаблон SMS; {CODE} будет заменён на код подтверждения.

            Ответ:

            {
              "Envelope": {
                "Body": {
                  "ApprovePhoneSendConfirmationResponse": {
                    "phoneNumber": "+71234567890"
                  }
                }
              }
            }

            Далее — проверка кода.

            Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.

            Результаты поиска
              Ничего не найдено
              Оглавление
              Проверка кода

              Проверка кода

              Проверка кода подтверждения, введённого клиентом — ApprovePhoneApplyCodeRequest.

              Запрос:

              {
                "Envelope": {
                  "Header": {
                    "Security": {
                      "UsernameToken": {
                        "Username": "USERNAME",
                        "Password": "PASSWORD"
                      }
                    }
                  },
                  "Body": {
                    "ApprovePhoneApplyCodeRequest": {
                      "unitId": 11111,
                      "confirmationCode": "27924"
                    }
                  }
                }
              }

              Ответ:

              {
                "Envelope": {
                  "Body": {
                    "ApprovePhoneApplyCodeResponse": {}
                  }
                }
              }

              В ответе нет полезной нагрузки. Если в процессе подтверждения (или отмены подтверждения) произошла ошибка, вернётся исключение. Если исключения нет — сотовый телефон подтверждён (или подтверждение отменено).

              Предварительный шаг — отправка кода.

              Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.

              Результаты поиска
                Ничего не найдено
                Оглавление
                Упрощённая идентификация

                Упрощённая идентификация

                Упрощённая идентификация (УПРИД) через СМЭВ — асинхронный запрос SimplifiedIdentificationRequest в обёртке AsyncRequest.

                Требования к данным в юните

                Перед запросом в профиле и документе должны быть заполнены:

                1. Фамилия, имя, отчество (при наличии)
                2. Дата рождения
                3. ИНН и/или СНИЛС
                4. Сотовый телефон (подтверждён)
                5. Серия и номер паспорта

                Минимальный набор для передачи платформой:

                • ФИО, дата рождения, паспорт (серия, номер), телефон (если не передавался ранее)
                • по связке ФИО + паспорт + дата рождения Система запрашивает ИНН в ФНС; если получить не удалось — передайте ИНН дополнительно

                Упрощённая идентификация обычно выполняется в течение часа.

                Запрос

                {
                  "Envelope": {
                    "Header": {
                      "Security": {
                        "UsernameToken": {
                          "Username": "USERNAME",
                          "Password": "PASSWORD"
                        }
                      }
                    },
                    "Body": {
                      "AsyncRequest": {
                        "SimplifiedIdentificationRequest": {
                          "unitId": 12345678,
                          "personalInformation": {
                            "profile": {},
                            "document": {
                              "id": 12345
                            }
                          }
                        },
                        "callbackUrl": "https://your-platform.example/callback/uprid"
                      }
                    }
                  }
                }

                В document.id укажите идентификатор паспорта из ответа CreateProfileDocumentRequest.

                Ответ (задача создана):

                {
                  "Envelope": {
                    "Body": {
                      "AsyncResponse": {
                        "expirationDate": "2017-12-19T12:12:05.102+03:00",
                        "asyncId": 37027,
                        "asyncStatus": "CREATED"
                      }
                    }
                  }
                }

                Завершение

                • О результате Система сообщит на callbackUrl, указанный в запросе.
                • Дополнительно может прийти URL-уведомление IDENTIFICATION — см. URL-уведомления.
                • Статус асинхронной задачи можно опросить повторным AsyncRequest с asyncId — варианты ответов на странице Ответы асинхронной задачи.

                Если идентификация не завершилась

                По истечении таймаута отправьте GetProfileInfoRequest: если parentId указывает на группу «Анонимные пользователи», идентификация не пройдена — проверьте данные в юните и повторите SimplifiedIdentificationRequest.

                Примечание: Если не пришло URL-уведомление IDENTIFICATION, но пришёл callback — опросите асинхронную задачу по asyncId. Если callback не пришёл в течение 700 минут — используйте GetProfileInfoRequest и FindProfileDocumentsRequest, проверьте признак approved у полей идентификации.

                Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.

                Результаты поиска
                  Ничего не найдено
                  Оглавление
                  Ответы асинхронной задачи

                  Ответы асинхронной задачи

                  Варианты ответа при опросе AsyncRequest по asyncId после упрощённой идентификации.

                  Задача в обработке

                  {
                    "Envelope": {
                      "Body": {
                        "AsyncResponse": {
                          "asyncId": 37027,
                          "asyncStatus": "INPROGRESS"
                        }
                      }
                    }
                  }

                  Задача не найдена

                  {
                    "Envelope": {
                      "Body": {
                        "Fault": {
                          "detail": {
                            "faultDetail": "500.9.1"
                          },
                          "faultcode": "Client",
                          "faultstring": "Асинхронная задача не найдена"
                        }
                      }
                    }
                  }

                  Успешная идентификация

                  {
                    "Envelope": {
                      "Body": {
                        "AsyncResponse": {
                          "SimplifiedIdentificationResponse": {
                            "success": true,
                            "personalInformation": {
                              "profile": {
                                "attribute": [
                                  {
                                    "approved": true,
                                    "value": "Иванов",
                                    "published": false,
                                    "key": "last_name"
                                  }
                                ]
                              },
                              "document": {
                                "id": 123,
                                "type": "PASSPORT",
                                "hasAttachedFiles": false,
                                "attribute": [
                                  {
                                    "approved": true,
                                    "value": "0000",
                                    "published": false,
                                    "key": "series"
                                  },
                                  {
                                    "approved": true,
                                    "value": "000000",
                                    "published": false,
                                    "key": "number"
                                  }
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }

                  Идентификация не пройдена

                  {
                    "Envelope": {
                      "Body": {
                        "AsyncResponse": {
                          "SimplifiedIdentificationResponse": {
                            "success": false,
                            "error": "Customer data did not pass ESIA check.",
                            "errorCode": "500.7.3",
                            "personalInformation": {
                              "profile": { "attribute": [] },
                              "document": { "id": 123, "type": "PASSPORT" }
                            }
                          }
                        }
                      }
                    }
                  }

                  При success: false исправьте данные клиента и повторите запрос упрощённой идентификации.

                  Результаты поиска
                    Ничего не найдено
                    Оглавление
                    Создание счёта

                    Создание счёта

                    Создание лицевого счёта для клиента платформы — CreateAccountRequest.

                    Важно: укажите prototypeAccountId — счёт-прототип, с которого наследуются настройки кошелька.

                    Запрос:

                    {
                      "Envelope": {
                        "Header": {
                          "Security": {
                            "UsernameToken": {
                              "Username": "Username",
                              "Password": "Password"
                            }
                          }
                        },
                        "Body": {
                          "CreateAccountRequest": {
                            "currency": "RUB",
                            "alias": "Alias",
                            "paymentPassword": "12345",
                            "unitId": 12345,
                            "prototypeAccountId": 1111111111,
                            "attribute": [
                              {
                                "key": "ALIAS",
                                "value": "Alias",
                                "published": true
                              }
                            ]
                          }
                        }
                      }
                    }

                    Ответ:

                    {
                      "Envelope": {
                        "Body": {
                          "CreateAccountResponse": 87198713
                        }
                      }
                    }

                    Дополнительные поля

                    В запрос можно добавить:

                    ПолеНазначение
                    onSuccessfulDebitUrlURL callback при успешном списании
                    onSuccessfulCreditUrlURL callback при успешном зачислении
                    onCancelledDebitUrlURL callback при отмене списания
                    onCancelledCreditUrlURL callback при отмене зачисления
                    signatureПодпись для callback
                    lowBalanceThresholdПорог низкого баланса
                    highBalanceThresholdПорог высокого баланса

                    После создания счёта приходит URL-уведомление CREATE_ACCOUNT — см. URL-уведомления.

                    Для расширенного счёта ЮЛ/ИП см. также создание расширенного счёта — структура запроса совпадает.

                    Примечание: Интерфейс MONETA.MerchantAPI представляет собой Web-сервис, описанный по спецификации Web Services Description Language (WSDL), использующий протокол Simple Object Access Protocol (SOAP) для передачи информации.