Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ИСПОЛЬЗОВАНИЕ API

Данное API позволит Вам выставить счёт, контролировать состояние счёта, отправлять пользователя (покупателя) на выбранный способ оплаты или получить необходимые данные для оплаты.  Взаимодействие между сервером IntellectMoney и сайтом поставщика (далее поставщика) происходит по HTTP-протоколу.


Note

Для того, чтобы иметь возможность совершать запросы описанные в этой документации, Вам необходимо иметь доступ к API (см. Получение доступа к API).

Перечисленные в данной статье методы, доступны только для аккаунтов организаций, если у Вас аккаунт физического лица, вы можете отредактировать и установить модуль для CMS или воспользоваться PeerToPeer (P2P) API.

БИЗНЕС СХЕМА

Примерная схема взаимодействия системы IntellectMoney, Интернет-магазина и Покупателя (данная схема не является обязательной и служит только для демонстрации):

  1. Покупатель оформляет заказ: вводит персональные данные, выбирает способ доставки и так далее.
  2. После того как пользователь отправил персональные данные, система Интернет-магазина получает доступные (активные) магазину способы оплаты, используя метод getPaymentWays().
    Этот шаг можно пропустить, если способ оплаты выбирается на шаге 1.
    Этот шаг можно выполнить после выставления счёта к оплате.
    Это шаг можно пропустить, если есть четкое понимание каким способом будет проводиться оплата.

    Этот шаг можно выполнить до шага 1. 
  3. Система IntellectMoney возвращает в систему магазина все доступные (активные) способы оплаты. Система Интернет-магазина предлагает пользователю выбрать способ оплаты.
    Данный шаг выполняется всегда, когда выполняется шаг 2.
  4. Покупатель выбирает способ оплаты.
    Этот шаг можно пропустить, если способ оплаты выбирается на шаге 1 или   есть четкое понимание каким способом будет проводиться оплата.
  5. Система Интернет-магазина показывает информацию о выбранном способе оплаты, предлагает подтвердить согласие с условиями и прочее.
    Этот шаг можно пропустить, если способ оплаты выбирается на шаге 1 или   есть четкое понимание каким способом будет проводиться оплата.
  6. Покупатель заполняет какие-либо поля, выполняет инструкции.
    Этот шаг можно пропустить, если способ оплаты выбирается на шаге 1 или   есть четкое понимание каким способом будет проводиться оплата.
  7. Система Интернет-магазина, на основании выбранного способа оплаты, выставляет счёт к оплате через метод createInvoice().
  8. Система IntellectMoney возвращает в систему магазина номер созданного счёта к оплате - invoiceId.
  9. Система Интернет-магазина вызывает метод оплаты в зависимости от выбранного способа оплаты.
  10. Система IntellectMoney возвращает всю необходимую информацию для проведения оплаты.
  11. Система Интернет-магазина отображает покупателю информацию об оплате. 
  12. Если был выбран не моментальный способ оплаты, например почтой России, то пользователь асинхронно оплачивает покупку, сделанную в Интернет магазине.
  13. Когда деньги поступили на счёт, система IntellectMoney оповещает систему Интернет-магазина, посредством отправки формы оповещения (см. протокол IntellectMoney) на URL оповещения о платеже - Result URL.
  14. Если был выбран моментальный способ оплаты. Пользователь заполняет поля, производит необходимые действия и отправляет эти данные в систему Интернет-магазина.
  15. Система Интернет-магазина, в зависимости от выбранного способа оплаты, отображает форму для ввода 3-DS пароля или переводит Покупателя на страницу личного кабинета(напр. Сбербанк, AlfaClick и др.).
  16. Если был выбран способ оплаты через обменники (exchangers - AlfaClick, Qiwi и т.д.), пользователь завершает оплату в личном кабинете обменника.
  17. Когда деньги поступили на счёт, система IntellectMoney оповещает систему Интернет-магазина, посредством отправки формы оповещения (см. протокол IntellectMoney) на URL оповещения о платеже - Result URL.
  18. Система Интернет-магазина показывает страницу с сообщением об успешной оплате, если это требуется.

После того как Система Интернет-магазина получила ID счета к оплате (invoiceId), можно получить информацию по данному счету к оплате, через метод getPurchaseInfo(). Через этот метод дополнительно можно получить информацию о настройках магазина в системе IntellectMoney - узнать время работы, название и так далее.

Порядок вызова методов для оплаты Банковской картой (Acquiring): bankCardPayment(), затем activationPay().

ПОРЯДОК ВЫЗОВА МЕТОДОВ

Работу с представленным API можно разделить на 2 шага:

  1. Выставляем счёт к оплате посредством метода createInvoice(). После того как счёт выставлен, его состояние можно отслеживать через метод getPurchaseInfo().
    1. Если нужно получить все доступные магазину способы оплаты, вызываем метод getPaymentWays(). Если данная информация не нужна и Вы проводить оплату зафиксированным способом оплаты (например, принимаете только оплату с банковской карты), данный метод можно не вызывать.
  2. В зависимости от выбранного способа оплаты, проводим оплату:
    1. Оплата с кошелька IntellectMoney:
      1. Получаем userToken.getPaymentWays()
      2. Запрашиваем у Покупателя код для подтверждения платёжных операций (pinCode).
      3. Обращаемся к методу innerPayment().
    2. Оплата банковской картой:
      1. Обращаемся к методу bankCardPayment(). После отправки данных о карте, состояние банковского платежа можно отслеживать через метод getBankCardPaymentState().
      2. Если платёж 3-DS отображаем Покупателю iFrame с окном для ввода 3-DS пароля.
        Если проводим активационный платеж, то обращаемся к методу activationPay().

    3. Оплата через почту России:
      1. Запрашиваем у пользователя данные для заполнения бланка.
      2. Обращаемся к методу getPostPayBlank().
    4. Оплата через обменники (alfaClick, Яндекс.Деньги и т.д.):
      1. Обращаемся к методу обменника:
        1. Альфа-Клик: alfaClickPayment().
        2. Сбербанк Онлайн: sberbankPayment().
        3. Яндекс.Деньги: yandexPayment().
        4. С кошелька WebMoney: WMRPayment().
        5. С QIWI-кошелька: QIWIPursePayment().
Excerpt

ГОТОВЫЕ БИБЛИОТЕКИ


Для отладки функционала существует коллекция Postman, чтобы начать работу, необходимо указать свои данные в переменные коллекции IntellectMoney API.

В методах коллекции, отправка запроса и обработка результат реализована на вкладках "Pre-request" и "Tests" соответственно. Данный подход позволяет подробно описать логику расчета подписей, формирования заголовков и параметров метода.

Postman - IntellectMoney API (Рекуррентые платежи)


ОБЩАЯ ИНФОРМАЦИЯ

ФОРМИРОВАНИЕ ЗАПРОСА

Для обращения к методам API нужно выполнить POST-запрос на URL, который состоит из следующих частей: host(https://api.intellectmoney.ru/merchant/) + название метода к которому идёт обращение (напр. https://api.intellectmoney.ru/merchant/createinvoice).

Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с заголовком Content-type: application/x-www-form-urlencoded. В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".

Anchor
HowToHashSign
HowToHashSign

ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Note

Каждый метод имеет своё правило формирования контрольной подписи.

К строке для подписи в конец добавляется параметр “Секретный ключ (secretKey)”, из настроек магазина в личном кабинете IntellectMoney, через разделитель “::“. После чего, к итоговой строке применяется хеш-функция MD5, результат работы который считается подписью запроса. Обратите внимание, что строка передаваемая в MD5 должна иметь кодировку UTF-8.

  • Подпись запроса передается в параметр hash.

Пример формирования контрольной подписи:

Info

Вызываемый метод: getPaymentWays()

Передаваемые параметры:

  • eshopId= 450123
  • invoiceId= 356421216
  • preferences= Inner

Правило формирования контрольной подписи (указано в описании метода):

  • eshopId::invoiceId::amount::preferences

Секретный ключ магазина (из настроек магазина в личном кабинете IntellectMoney): 

  • 123abc

Итоговая строка контрольной подписи:

  • 450123::356421216::::Inner::123abc

Подпись запроса, передаваемая в параметр hash:

  • d067c454011c456e5c69a189c54528d6


Tip

Таким образом, если параметр не имеет значения, он все равно должен участвовать в формировании контрольной подписи.



Anchor
ApiMethodGetPaymentWays
ApiMethodGetPaymentWays

МЕТОД GetPaymentWays - ЗАПРОС СПОСОБОВ ОПЛАТЫ

Позволяет запросить доступные (активные) магазину способы оплаты.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/getpaymentways

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::amount::preferences::signSecretKey

Передаваемые параметры


Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да, если не передан invoiceId

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице  https://intellectmoney.ru/ru/enter/ps_organization_shop/  в столбце "ID"

Если данный параметр не передан, то обязательно нужно передать параметр invoiceId. Иначе Вы получите Exception.

Номер СКО

invoiceId

Да, если не передан eshopId

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета

Если данный параметр не передан, то обязательно нужно передать параметр eshopId. Иначе Вы получите Exception.

Сумма платежа

amount

Нет

Сумма платежа, которую поставщик желает получить от пользователя (покупателя). Сумма должна быть больше нуля, дробная часть отделяется точкой, два знака после точки.

Если передать данный параметр, то в возвращаемой структуре <PaymentWayListData> будут только те способы оплаты, которые можно использовать для данной суммы.

Если данный параметр не передан, то в возвращаемой структуре <PaymentWayListData> будут все способы оплаты, которые активированы в настройках магазина.

Максимальная длина - 13 цифр вместе с десятичными знаками.

Способ оплаты

preferences

Нет

Когда передан данный параметр, то система вернет информацию, только по указанным способам оплаты.

Подробное описание доступно на странице Соответствия preference & inputType

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности: 

Code Block
languagec#
titleСтрока подписи
eshopId::invoiceId::amount::preferences

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PaymentWayListData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/getPaymentWays/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
amount=8.14
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId>
    <EshopId>455551</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>
        <PaymentWays>
            <PaymentWayData>
                <Id>1</Id>
                <Amount>
                    <Amount>10.0000</Amount>
                    <Currency>TST</Currency>
                </Amount>
                <Preference>Inner</Preference>
                <InputType>InnerPayment</InputType>
                <PreferenceTypes>
                    <PreferenceTypeSpecification>All</PreferenceTypeSpecification>
                    <PreferenceTypeSpecification>Online</PreferenceTypeSpecification>
                    <PreferenceTypeSpecification>NonComission</PreferenceTypeSpecification>
                    <PreferenceTypeSpecification>Flash</PreferenceTypeSpecification>
                </PreferenceTypes>
                <ServiceTimeOfEnrollmentType>Flash</ServiceTimeOfEnrollmentType>
                <Commission>0</Commission>
            </PaymentWayData>
        </PaymentWays>
    </Result>
</Response>


Anchor
ApiMethodCreateInvoice
ApiMethodCreateInvoice

МЕТОД CreateInvoice - ВЫСТАВЛЕНИЕ СЧЁТА К ОПЛАТЕ

Используется для выставления счета к оплате (далее СКО).

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/createInvoice

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign:  eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::signSecretKey

Передаваемые параметры

НазваниеИмя параметраОбязательныйОписание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Внутренний номер покупки поставщика

orderId

Да

В этом поле нужно передать номер покупки в соответствии со своей системой учета.

Данный номер должен быть уникальным, если включена соответствующая опция в настройках магазина в системе IntellectMoney. Можно увидеть на странице настроек магазина https://intellectmoney.ru/ru/enter/ps_organization_shop/ , выбрав “настройки“, далее вкладка “прием платежей“, далее “расширенные настройки“. Если при включенном параметре передать не уникальный номер покупки, то в ответ придет Exception.

Максимальная длина - 50 символов.

Назначение платежа

serviceName

Нет

Описание товара или услуги.

Максимальная длина - 1024 символов.

Сумма

платежа

recipientAmount

Да

Сумма платежа, которую поставщик желает получить от пользователя (покупателя). Положительное число, округленное до 2 знаков после десятичной точки, без пробелов. Минимальное значение 10.00.

Максимальная длина - 13 цифр вместе с десятичными знаками.

Валюта

платежа

recipientCurrency

Да

Валюта платежа. Может принимать значения:

  • RUB и RUR  - для платежей в рублях
  • TST - для тестовых платежей
  • USD - для платежей в американских долларах
  • EUR - для платежей в евро

Внимание: USD и EUR можно передавать только для платежей посредством банковской карты (preference=bankCard). Подробную информацию о подключении иностранных валют Вы можете получить у Вашего персонального менеджера. 

Имя Пользователя

userName

Нет

Имя пользователя (покупателя), который совершает платеж

Максимальная длина – 255 символов.

E-mail пользователя

email

Да

Email пользователя (покупателя).

Максимальная длина – 100 символов.

Адрес удачного платежа

successUrl

Нет

Адрес, на который происходит перенаправление плательщика с мерчанта после успешной оплаты

Максимальная длина - 512 символов.


failUrlНет

Адрес, на который происходит перенаправление плательщика с мерчанта в случае неуспешной оплаты

Максимальная длина - 512 символов.

Адрес возврата в магазинbackUrl

Нет

Адрес ссылки "Вернуться в магазин" на мерчанте

Максимальная длина - 512 символов.

Адрес оповещенийresultUrl

Нет

Адрес, на который система IntellectMoney посылает HTTP/S POST запросы об изменении состояния СКО для протокола Webmoney

Максимальная длина - 512 символов.

Срок существования СКО

expireDate

Нет

Дата и время, по достижению, которых оплатить счёт в системе IntellectMoney станет не возможно.  Счет переходит в статус "Отменён".

Передавать в формате “yyyy-MM-dd HH:mm:ss.

Данный параметр подробно описан в разделе Холдирование

Режим холдирования

holdMode

Нет

При оплате СКО, средства на счете пользователя не списываются, а “замораживаются“. Данный параметр может принимать три значения:

  • 1 - включает режим холдирования, в данном случае, необходимо передать параметры expireDate и holdTime
  • 0 -  выключает режим холдирования, счета не будут холдироваться, необходим для создания счета без холдирования когда настройками магазина счета создаются по умолчанию холдированными
  • null - сопоставим с не передачей данного параметра - режим холдирования определяется в настройках магазина в личном кабинете

Данный параметр подробно описан в разделе Холдирование

Срок холдирования денежных средствholdTimeНет

Время, через которое захолдированные (замороженные) денежные средства будут зачислены на счёт магазина или возвращены покупателю, измеряется в часах.

Целое число от 1 до 119 часов.

Данный параметр подробно описан в разделе Холдирование

Данные по чеку
merchantReceiptНет

Данные для формирования чека в онлайн кассе. Подробное описание смотрите в протоколе приема платежей, пункт 4.5 Правила формирования чека для онлайн кассы (merchantReceipt)

Параметр является обязательным для магазинов с включенной онлайн-кассой

Способ оплаты

preference

Нет

Способы оплаты, которые будут доступны для данного СКО.

Если данное поле не передано, то будут доступны все способы, доступные магазину.

Подробное описание доступно по ссылке

Данные поставщиков сплитованного счетаsplitInvoiceDataНет

Массив поставщиков (идентификатор магазина и сумма) в формате JSON — получателей средств сплитованного счета. После создания мастер счета по каждому поставщику автоматически создается счет сабмерчанта.

Code Block
languagejs
titleПример параметра
{
	"Splits": [
		{
			"EshopId": 400001, "Amount": 200
		},
		{
			"EshopId": 400002, "Amount": 600
		},
	]
}


Тип операции по расписаниюrecurringTypeНет

Тип операции по расписанию, принимает значение:

  • Activate

Данной командой, банковская карта регистрируется в цепочке платежей и привязывается к счету, после того как счет будет оплачен.

Параметр является обязательным для рекуррентых платежей (ребиллинга).

Подпись для переданных данных из счётаpurchaseHashНет

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Не включает в себя hash.

Параметр является обязательным для рекуррентых платежей (ребиллинга) и, если включен пункт "Требовать HASH" в настройках магазина. Если не передать, то в ответ придет Exception.

Проверить включен пункт "Требовать HASH" или нет можно в настройках магазина https://intellectmoney.ru/ru/enter/ps_organization_shop/ вкладка "Прием платежей" -> "Расширенные настройки". 

Алгоритм формирования описан в протоколе IntellectMoney в разделе " Проверка данных формы запроса ".

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности: 

Code Block
languagec#
titleСтрока подписи
eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <CreateInvoiceData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/createInvoice/  HTTP/1.1  
Host: api.intellectmoney.ru 
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
orderId=test_order
recipientAmount=10.00
recipientCurrency=RUB
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG

Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
 		<Desc>Успешно обработана</Desc>
   	</OperationState>
 	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
   	<EshopId>700025</EshopId>
   	<Result>
     	<State>
 			<Code>0</Code>
       		<Desc>Успешно обработан</Desc>
     	</State>
     	<InvoiceId>3470488641</InvoiceId>
   	</Result>
</Response>


Anchor
ApiMethodBankCardPayment
ApiMethodBankCardPayment

МЕТОД BankCardPayment - ОПЛАТА БАНКОВСКОЙ КАРТОЙ

Используется для передачи реквизитов банковской карты и дальнейшей оплаты счета.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/bankcardpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: PCI DSS

Правило формирования заголовка Sign: eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://intellectmoney.ru/ru/enter/ps_organization_shop/   в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета

Номер карты плательщика

pan

Да

Номер карты плательщика

Держатель карты

cardHolder

Нет

Имя и фамилия плательщика

Срок действия месяц

expiredMonth

Да

Месяц, до которого действует карта

Срок действия год

expiredYear

Да

Год, до которого действует карта

CVV2/CVC2 код

cvv

Нет

Секретный код CVV2 (CVC2), как правило написан на обороте карты (последние три цифры на полосе для подписи).

Данный параметр должен быть обязательно передан если банковская карта снабжена cvv. Если попытаться оплатить такой картой и не указать cvv, то банк-эквайер вернет ошибку.

Максимальная длина - 512 символов.

Адрес успешной 3D-S авторизацииreturnUrlДаАдрес, на который перенаправляет плательщика после завершения 3DS.
IP адрес сайта магазинаipAddressДаIP адрес сайта, с которого выставляется платеж.

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardData> (синхронная обработка). ( Код операции - 0 )
  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )
  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Стоит заметить, что вызов bankCardPayment() - первый шаг оплаты. Ответ этого метода не содержит статуса банковского платежа.

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/bankCardPayment/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
pan=55555555444444
cardHolder=DEFAULT CARDHOLDER
expiredMonth=10
expiredYear=19
cvv=123
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
	<EshopId>700025</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Пример использования

  1. Запрашиваем у Покупателя данные по карте.
  2. Обращаемся к методу bankCardPayment(). После отправки данных о карте, состояние банковского платежа можно отслеживать через метод getBankCardPaymentState().
  3. Дальше возможны два варианта:
    1. Платёж 3-DS (Статус Платежа 3 - Отправлен на 3DS):
      1.  отображаем Пользователю (Покупателю) код из параметра Form3DS.
      2. Пользователь Пользователь (Покупатель) проходит 3-DS идентификацию. Состояние банковского платежа можно узнать обратившись к методу getBankCardPaymentState(). Как только данный метод вернет статус 0, можно считать, что счёт оплачен. 
    2. Платёж активационный (Статус Платежа 4 - отправлен на активационный платеж):
      1. Обращаемся к методу activationPay()
    3. Платеж не 3-DS, то ничего не делаем (Статус Платежа 2 - в обработке).
  4. Сообщаем Пользователю (Покупателю) о завершении оплаты.

Anchor
ApiMethodGetBankCardPaymentState
ApiMethodGetBankCardPaymentState

МЕТОД GetBankCardPaymentState - СОСТОЯНИЕ ПЛАТЕЖА

Используется для получения информации о состоянии оплаты счета.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/getbankcardpaymentstate

Доступные HTTP-методы: POST

Требуемый уровень доступа: PCI DSS Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://intellectmoney.ru/ru/enter/ps_organization_shop/   в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardPaymentStateData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/getBankCardPaymentState/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
	<EshopId>700025</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Anchor
ApiMethodActivationPay
ApiMethodActivationPay

МЕТОД ActivationPay - АКТИВАЦИОННЫЙ ПЛАТЁЖ

Используется для завершения активационного платежа.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/activationpay

Доступные HTTP-методы: POST

Требуемый уровень доступа: PCI DSS

Правило формирования заголовка Sign: eshopId::invoiceId::activationAmount::cvv::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://intellectmoney.ru/ru/enter/ps_organization_shop/   в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета

Сумма активационного платежа

activationAmount

Да

Сумма, которая заблокирована у клиента на карте.

Сумму блокировки можно узнать в банке, либо из СМС, в случае если услуга поnключена

CVV2/CVC2 код

cvv

Нет

Секретный код CVV2 (CVC2), как правило написан на обороте карты (последние три цифры на полосе для подписи).

Данный параметр должен быть обязательно передан если банковская карта снабжена cvv. Если попытаться оплатить такой картой и не указать cvv, то банк-эквайер вернет ошибку.

Максимальная длина - 512 символов.

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::activationAmount::cvv

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <ActivationPayData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/activationPay/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
activationAmount=8.14
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
	<EshopId>700025</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Anchor
ApiMethodInnerPayment
ApiMethodInnerPayment

МЕТОД InnerPayment - ОПЛАТА ВНУТРЕННИМ ПЛАТЕЖОМ

Используется для оплаты в системе IntellectMoney.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/innerpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::userToken::pinCode::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://intellectmoney.ru/ru/enter/ps_organization_shop/   в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета

Сумма платежа

userToken

Да

Цифровая подпись пользователя (покупателя).

Алгоритм получения userToken описан в разделе Как получить userToken

Пин-код

pinCode

Нет

Код для подтверждения платёжных операций. Указывается пользователем (покупателем) при регистрации на сайте IntellectMoney.

Состоит из 4 цифр.

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::userToken::pinCode

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <MerchantServiceData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/innerPayment/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
userToken=BD2rQq%2Fh6P6tUEeSWLb5ur%2BIX3TIKckWjTKzmNwDoUI%3D
pinCode=4562
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId>
    <EshopId>455551</EshopId>
    <Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Пример использования

Данный метод переводит денежные средства с кошелька IntellectMoney Пользователя (Покупателя) на кошелек IntellectMoney или Банковскую карту Партнера (Продавца).

  1. Запрашиваем у Пользователя (Покупателя) Пин-код (pinCode), который он указал при регистрации в системе IntellectMoney.
  2. Обращаемся к методу innerPayment().
  3. Проверяем какой статус вернулся в ответ, если (0 - ОК), значит платёж прошел. Если пришел другой статус, проверьте корректность передаваемых полей.
  4. Сообщаем Пользователю (Покупателю) о завершении оплаты.

Anchor
ApiMethodSbpPayment
ApiMethodSbpPayment

ОПЛАТА ЧЕРЕЗ Qiwi-кошелек

Оплата используя Киви-кошелек состоит из 3-х этапов, путем вызова методов:

  1. CreateQiwiWalletToken, для формирования токена;    
  2. CheckQiwiWalletToken, для подтверждения;
  3. QiwiWalletPayment, для финальной оплаты.

Доступ к методу CreateQiwiWalletToken

URL: https://api.intellectmoney.ru/merchant/createqiwiwallettoken

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::::phone::::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

invoiceId

Да

Счёт к Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счета

Номер телефонаphoneДаНомер телефона на который зарегистрированный Киви-кошелек
Подпись для преданных данныхhashДа

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::phone

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать параметр RequestId (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/createqiwiwallettoken/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
phone=79214567895
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml
 
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <Result>
		<RequestId>0a7ce499-631e-4ef7-a7c0-335157c0cd87</RequestId>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>
    </Result>
</Response> 

Доступ к методуCheckQiwiWalletToken

URL: https://api.intellectmoney.ru/merchant/checkqiwiwallettoken

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::requestId::::smsCode::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счета

Смс кодsmsCodeДаСмс код полученный при вызове метода CreateQiwiWalletToken
Идентификатор запросаrequestIdДаИдентификатор запроса полученный при вызове метода CreateQiwiWalletToken
Подпись для преданных данныхhashДа

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::requestId::smsCode

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать параметр Token (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/checkqiwiwallettoken/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
smsCode=123456
requestId=0a7ce499-631e-4ef7-a7c0-335157c0cd87
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml
 
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <Result>
          <Token>7B226B223A22344F57465A3537576B4E763685673452636E764C446A33416D4B6C3758665449363143653769227D</Token>
          <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>
    </Result>
</Response> 

Доступ к методу QiwiWalletPayment

URL: https://api.intellectmoney.ru/merchant/qiwiwalletpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::::ipAddress::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счета

Адрес удачного платежаsuccessUrlНетАдрес, на который будет перенаправлен пользователь (покупатель) в случае успешной оплаты
Адрес не удачного платежаfailUrlНетАдрес, на который будет перенаправлен пользователь (покупатель) в случае не успешной оплаты
IP адрес сайта магазинаipAddressДаIP адрес сайта, с которого выставляется платеж.
Подпись для преданных данныхhashДа

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::successUrl::failUrl::additionalParams::ipAddress

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardData> (синхронная обработка). ( Код операции - 0 )
  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )
  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/qiwiwalletpayment/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
ipaddress=127.0.0.1
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml
 
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
    <EshopId>700025</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>		
    </Result>
</Response> 

Пример использования

  1. Выставляем счёт (метод CreateInvoice).
  2. Обращаемся к методу createqiwiwallettoken, в ответе получаем идентификатор запроса RequestId. 
  3. После чего вызываем метод checkqiwiwallettoken, в ответе получем токен.
  4. Вызываем метод оплаты qiwiwalletpayment.
  5. После отправки данных, состояние банковского платежа можно отслеживать через метод getBankCardPaymentState().
  6. Дополнительно статус успешного платежа будет отправлен на resultUrl. 

МЕТОД SbpPayment- ПОЛУЧИТЬ QR-КОД ДЛЯ ОПЛАТЫ ЧЕРЕЗ СБП

Используется для получения qr-кода и ссылки для оплаты.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/sbppayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::additionalParams::ipAddress::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счета

Адрес удачного платежаsuccessUrlНетАдрес, на который будет перенаправлен пользователь (покупатель) в случае успешной оплаты
Адрес не удачного платежаfailUrlНетАдрес, на который будет перенаправлен пользователь (покупатель) в случае не успешной оплаты
Дополнительные параметрыadditionalParamsНет

Дополнительные параметры. Строка вида "to=+39106231449|from=+569323442", где:

"|" - разделитель между параметрами,

"=" разделитель в паре ключ-значение.

IP адрес сайта магазинаipAddressДаIP адрес сайта, с которого выставляется платеж.
Подпись для преданных данныхhashДа

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::successUrl::failUrl::additionalParams::ipAddress

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardData> (синхронная обработка). ( Код операции - 0 )
  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )
  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/sbppayment/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
ipaddress=127.0.0.1
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml
 
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
    <EshopId>700025</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>		
    </Result>
</Response> 

Пример использования

  1. Выставляем счёт (метод CreateInvoice).
  2. Обращаемся к методу sbppayment. После отправки данных, состояние банковского платежа можно отслеживать через метод getBankCardPaymentState().
  3. При запросе статуса платежа (getBankCardPaymentState()) отслеживаем появление статуса "SendTo3DS":
      1.  В данном статусе в параметре  Form3DS будут присланы параметры SbpQrCode и SbpLink в формате JSON.
  4. После получения Qr-кода и оплаты счёта покупателем, статус платежа можно определить перезапросом метода getBankCardPaymentState(). Дополнительно статус успешного платежа будет отправлен на resultUrl.

Anchor
ApiMethodBnplPayment
ApiMethodBnplPayment

МЕТОД BnplPayment- ПЕРЕХОД НА СТРАНИЦУ ОПЛАТЫ В РАССРОЧКУ

Используется для получения ссылки на сервис оплаты в рассрочку.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/bnplpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::additionalParams::ipAddress::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счета

Адрес удачного платежаsuccessUrlНетАдрес, на который будет перенаправлен пользователь (покупатель) в случае успешной оплаты
Адрес не удачного платежаfailUrlНетАдрес, на который будет перенаправлен пользователь (покупатель) в случае не успешной оплаты
Дополнительные параметрыadditionalParamsНет

Дополнительные параметры. Строка вида "to=+39106231449|from=+569323442", где:

"|" - разделитель между параметрами,

"=" разделитель в паре ключ-значение.

IP адрес сайта магазинаipAddressДаIP адрес сайта, с которого выставляется платеж.
Подпись для преданных данныхhashДа

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::successUrl::failUrl::additionalParams::ipAddress

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardData> (синхронная обработка). ( Код операции - 0 )
  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )
  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/bnplpayment/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
ipaddress=127.0.0.1
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml
 
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
    <EshopId>700025</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>		
    </Result>
</Response> 

Пример использования

  1. Выставляем счёт (метод CreateInvoice).
  2. Обращаемся к методу bnplpayment. После отправки данных следует отслеживать получение ссылки через метод getBankCardPaymentState().
  3. При запросе статуса платежа (getBankCardPaymentState()) отслеживаем появление статуса "SendTo3DS":
      1.  В данном статусе в параметре  Form3DS будет получена ссылка на сервис оплаты в рассрочку.
  4. Выполните перенаправление в браузере плательщика на полученную ссылку.
  5. Статус платежа можно определить перезапросом метода getBankCardPaymentState(). Дополнительно статус успешного платежа будет отправлен на resultUrl.


Anchor
ApiMethodGetPostPayblank
ApiMethodGetPostPayblank

МЕТОД GetPostPayBlank - ПОЛУЧИТЬ БЛАНК ДЛЯ ОПЛАТЫ ПОЧТОВЫМ ПЕРЕВОДОМ

Используется для получения бланка оплаты.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/getpostpayblank

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceid::amount::address::postcode::fio::inn::residentofrussia::series::number::day::month::year::kem::beginday::beginmonth::beginyear::endday::endmonth::endyear::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

invoiceId

Да

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счета

Сумма платежа

amount

Да

Сумма платежа, которую поставщик желает получить от пользователя (покупателя). Сумма должна быть больше нуля, дробная часть отделяется точкой, два знака после точки.

Максимальная длина - 13 цифр вместе с десятичными знаками.

Адрес

address

Нет

Адрес прописки Пользователя (Покупателя).

Указывается полностью без сокращений

Почтовый индексpostcodeНет


Почтовый индекс Пользователя (Покупателя).

Имя покупателяfioНет

Фамилия Имя Отчество Пользователя (Покупателя).

Указывается полностью без сокращений.

ИННinnНетИндивидуальный номер налогоплательщика Пользователя (Покупателя).
ГражданствоresidentofrussiaДа

Здесь нужно указать, является ли Пользователь (Покупатель) гражданином РФ или нет.
Передать 1, если Пользователь (
Покупатель) является гражданином РФ.

Передать 0, если Пользователь (Покупатель) не является гражданином РФ.

Серия

series

ДаСерия паспорта Пользователя (Покупателя).
НомерnumberДаНомер паспорта Пользователя (Покупателя).
День выдачи паспорта

day

Нет



Дата выдачи паспорта Пользователя (Покупателя).

Месяц выдачи пасспортаmonthНет
Год выдачи пасспортаyearНет
Кем выданkemНетУправление выдавшее паспорт.
Для Пользователя (Покупателя) не резидент РФ, передаются данные о сроке пребывания.
ДеньbegindayНет


С какого числа начинает действовать разрешение на работу Пользователя (Покупателя).


МесяцbeginmonthНет
ГодbeginyearНет
ДеньenddayНет


Срок окончания разрешения работу Пользователя (Покупателя).

МесяцendmonthНет
ГодendyearНет

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::amount::address::postCode::fio::inn::residentOfRussia::series::number::day::month::year::kem::beginDay::beginMonth::beginYear::endDay::endMonth::endYear

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PostPayBlankData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )

Пример запроса


Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/createInvoice/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
activationAmount=8.14
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId>
    <EshopId>455551</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>
        <PostPayBlank>
            iVBORw0KGgoAAAANSUhEUgAABHQAAASkCAI...
        </PostPayBlank>
    </Result>
</Response>

Пример использования

Данный метод возвращает изображение готового бланк для оплаты в отделениях почты России. Изображение возвращается в виде строки (data:image/png;base64). Если обязательные поля не заполнить, то и в бланке они не будут заполнены и в момент перевода могут возникнуть проблемы, например: Пользователь (Покупатель) не является резидентом, тогда при не заполненных полях о сроке пребывания кассир потребует заполнить данные поля. 

  1. Запрашиваем у Пользователя (Покупателя) личные данные.
  2. Обращаемся к методу getPostPayBlank().
  3. Получаем в ответ изображение бланка для оплаты в отделениях почты России, обрабатываем полученный код "data:image/png;base64,{полученный код}" и отображаем получившееся изображение Пользователю (Покупателю).
  4. Пользователь (Покупатель) распечатывает бланк или заполняет чистый бланк, который можно получить в отделениях почты России.
  5. Пользователь (Покупатель) идет с бланком в отделение почты России и производит оплату.

Вы можете отслеживать состояние счета методом getPurchaseInfo() (надо обязательно передать номер платежа), когда в State из <InvoiceData> будет в статусе Paid=2 Полностью оплачен значит платеж завершен.

Anchor
ApiMethodPurchaseToRefund
ApiMethodPurchaseToRefund

МЕТОД PurchaseToRefund - ВОЗВРАТ ДЕНЕЖНЫХ СРЕДСТВ

Используется для подачи заявки на возврат.

Доступ к методу

URL: https://api.intellectmoney.ru/merchant/purchasetorefund

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::orderId::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Номер СКО

InvoiceId

Нет

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Обратите внимание, для возврата обязательно должен быть передан либо InvoiceId, либо orderId.

Номер счета

orderId

Нет

В этом поле нужно передать номер покупки в соответствии со своей системой учета. Обратите внимание, для возврата обязательно должен быть передан либо InvoiceId, либо orderId.

Секретный ключ

secretKey

Нет

Секретный ключ, указанный в настройках магазина, в личном кабинете IntellectMoney. Обратите внимание, для возврата обязательно должен быть передан либо secretKey, либо hash.

Сумма возвратаoperationAmountНетСумма возврата. Если параметр не передан, будет выполнен полный возврат средств.
Чек возвратаmerchantReceiptНетЧек возврата. Должен формироваться по общим правилам формирования чеков и содержать итоговый результат чека после выполнения возврата. Параметр обязателен, если у магазина включена интеграция с онлайн-кассой.
Подпись для преданных данныхhashНет

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Обратите внимание, для возврата обязательно должен быть передан либо secretKey, либо hash.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности: 

Code Block
languagexml
themeConfluence
titleСтрока подписи
eshopId::orderId::action

Параметр action, в данном случае, равен "Refund" (без кавычек).

Далее, к строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и её статус. Статус "Успешно обработана" означает, что операция поставлена в очередь на обработку.

Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/PurchaseToRefund/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
InvoiceId=356421216
operationAmount=8.14
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>64874ad9-d012-4cae-a149-2d7b5cb57728</OperationId>
	<EshopId xsi:nil="true" />
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан.</Desc>
		</State>
		<Data>OK</Data>
	</Result>
</Response>

Anchor
ApiMethodsPaymentViaExchangers
ApiMethodsPaymentViaExchangers

ОПЛАТА ЧЕРЕЗ ОБМЕННИКИ

Для оплаты через конкретный обменник, следует использовать метод связанный с этим обменником.

Список методов:

ОбменникИмя метода
Альфа-КликalfaClickPayment()
Сбербанк ОнлайнsberbankPayment()
Яндекс.ДеньгиyandexPayment()
WebMoneyWMRPayment()
QIWI-КошелекQIWIPursePayment()

Доступ к методу: Альфа-Клик

URL: https://api.intellectmoney.ru/merchant/alfaclickpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::signSecretKey

Доступ к методу: Сбербанк Онлайн

URL: https://api.intellectmoney.ru/merchant/sberbankpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::additionalParams::signSecretKey

Доступ к методу: Яндекс.Деньги

URL: https://api.intellectmoney.ru/merchant/yandexpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::additionalParams::signSecretKey

Доступ к методу: WebMoney

URL: https://api.intellectmoney.ru/merchant/wmrpayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::additionalParams::signSecretKey

Доступ к методу: QIWI Кошелёк

URL: https://api.intellectmoney.ru/merchant/qiwipursepayment

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::successUrl::failUrl::additionalParams::signSecretKey


Передаваемые параметры

Название

Имя параметра

Обязательный

Методы, в которых данный параметр является обязательным

Описание

ID магазина

eshopId

Да

Во всех

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://intellectmoney.ru/ru/enter/ps_organization_shop/   в столбце "ID"

Номер СКО

invoiceId

Да

Во всех

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета

Адрес удачного платежа

successUrlНе использовать, если не является обязательнымalfaclickpayment, wmrpayment, qiwipursepayment

Адрес, на который будет перенаправлен пользователь (покупатель) в случае успешной оплаты

Адрес не удачного платежаfailUrlНе использовать, если не является обязательнымwmrpayment, qiwipursepayment

Адрес, на который будет перенаправлен пользователь (покупатель) в случае не успешной оплаты

Дополнительные параметрыadditionalParamsНе использовать, если не является обязательнымqiwipursepayment

Дополнительные параметры.Строка вида "to=+39106231449|from=+569323442", где:

"|" - разделитель между параметрами,

"=" разделитель в паре ключ-значение.

Подпись для преданных данных

hash

Да

Во всех

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::successUrl::failUrl::additionalParams

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается   код операции  и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <ExchangerPaymentData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )

Пример запроса


Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/createInvoice/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
successUrl=http://Ваш_сайт/successUrl.php
failUrl=http://Ваш_сайт/failUrl.php
additionalParams=to=+791085488
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OperationState>
        <Code>0</Code>
        <Desc>Успешно обработана</Desc>
    </OperationState>
    <OperationId>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId>
    <EshopId>455551</EshopId>
    <Result>
        <State>
            <Code>0</Code>
            <Desc>Успешно обработан</Desc>
        </State>
        <PostPayBlank>
            iVBORw0KGgoAAAANSUhEUgAABHQAAASkCAI...
        </PostPayBlank>
    </Result>
</Response>


АСИНХРОННЫЕ ОПЕРАЦИИ

Для получения результата по операциям, обработка по которым была поставлена в очередь необходимо отправить запрос на URL по целевым методам, добавив в окончание адреса “State”.

Доступ к состоянию асинхронной операции

URLs:

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::operationId::signSecretKey

Передаваемые параметры


Tip

Все методы, используемые для получения состояния асинхронной операции, получают одинаковый список параметров.


Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://intellectmoney.ru/ru/enter/ps_organization_shop/   в столбце "ID"

Операция

operationId

Да

Идентификатор операции, по которой Вы хотите получить информацию

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::operationId

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался. Ответ типа <Response> будет содержать структуру одного из методов. ( Код операции - 0 )

  2. Запрос еще находится в очереди на обработку. Нужно запросить статус позже. ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

ИНТЕРФЕЙС УВЕДОМЛЕНИЙ ПРОВАЙДЕРА


В протоколе предусмотрена стандартная возможность получения провайдером уведомлений о статусе платежа. Данные передаются в соответствии с п.3.2.2. Форма оповещения о платеже протокола IntellectMoney.

Anchor
ApiMethodGetPurchaseInfo
ApiMethodGetPurchaseInfo

МЕТОД GetPurchaseInfo - ПОЛУЧИТЬ ИНФОРМАЦИЮ О ПЛАТЕЖЕ/МАГАЗИНЕ

Используется для получения информации о платеже (платежах).

Доступ к методу: QIWI Кошелёк

URL: https://api.intellectmoney.ru/merchant/getpurchaseinfo

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Правило формирования заголовка Sign: eshopId::invoiceId::inputType::signSecretKey

Передаваемые параметры

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да, если не передан invoiceId

Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице  https://intellectmoney.ru/ru/enter/ps_organization_shop/  в столбце "ID".

Номер СКО

invoiceId

Да, если не передан eshopId

Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “ Запрос выставления счета ”.

Способ оплаты

inputType

Нет

Способ, которым оплачивался СКО. Если данный параметр передан вместе с invoiceId, будет показана сумма к оплате с учётом комиссии, если таковая имеется.

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Code Block
languagexml
themeConfluence
titleПример формирования строки
eshopId::invoiceId::inputType

Далее, к этой строке применяется алгоритм криптографии из пункта ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

Ответ сервера

В ответ возвращается   код операции  и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PurchaseInfoData> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. (  Код операции - 2  )


Пример запроса

Code Block
languagepowershell
themeConfluence
titleПример запроса
linenumberstrue
Post /merchant/getPurchaseInfo/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=455551
invoiceId=3486654395
inputType=
hash=58c16afcaac298dda6d84b7a3bd476da


Code Block
languagexml
themeEclipse
titleПример ответа
linenumberstrue
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>974a1029-07f5-4797-ae12-f104101fa6b6</OperationId>
	<EshopId>455551</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан.</Desc>
		</State>
		<Invoice>
			<InvoiceId>3486654395</InvoiceId>
			<LeftToPayAmount>
				<Amount>10.0000</Amount>
				<Currency>RUB</Currency>
			</LeftToPayAmount>
			<TotalAmount>
				<Amount>10.0000</Amount>
				<Currency>RUB</Currency>
			</TotalAmount>
			<OrderId>1498651094</OrderId>
			<Name>test</Name>
			<State>Created</State>
			<CreationDate>2017-06-28T15:06:21.777</CreationDate>
			<ChangeDate>2017-06-28T15:06:21.777</ChangeDate>
			<UserEmail>s.zhukov+1@intellectmoney.ru</UserEmail>
		</Invoice>
		<Eshop>
			<EshopId>455551</EshopId>
			<Name>bookshop</Name>
			<Url>http://test1.ru/</Url>
			<TemplateId>1</TemplateId>
		</Eshop>
		<SuccessUrl>https://successurl.ru</SuccessUrl>
		<BackUrl>http://backurl.ru</BackUrl>
		<FormType xsi:nil="true"/>
	</Result>
</Response>


КАК ПОЛУЧИТЬ userToken
Anchor
GettingUserToken
GettingUserToken

Для получения userToken нужно перенаправить пользователя (покупателя) на страницу https://intellectmoney.ru/ru/enter/ с параметрами:

ПараметрОписание
returnUrlURL куда перенаправить пользователя (покупателя) после регистрации, на данный URL будет перед userToken методом get.
emailemail пользователя (покупателя)

Пример:https://intellectmoney.ru/ru/enter/?returnUrl=https://<Ваш_сайт>/returnUrl.php&email=<Почта_покупателя

После того, как пользователь (покупатель) авторизуется, он будет перенаправлен на страницу указанную в returnUrl с параметром UserToken.

Пример:https://<Ваш_сайт>/returnUrl.php?&userToken=5a8WAwjuOb5g7P5VGdmxSt2ogNCysC7UirnQDmWFNP4%3D 

ТИПЫ ДАННЫХ

<Response>
Anchor
Response
Response

Поле

Тип

Описание

OperationState

<OperationState>

Статус выполнения операции

OperationId

GUID

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

EshopId

int

ID магазина

Result

Object

Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет.

<OperationState>
Anchor
OperationState
OperationState

Поле

Тип

Описание

Code

int

Код статуса выполнения операции

Desc

string

Описание кода статуса выполнения запроса

<ResultState>
Anchor
ResultState
ResultState

Поле

Тип

Описание

Code

int

Код результата выполнения операции

Desc

string

Описание кода статуса выполнения запроса

<CreateInvoiceData>
Anchor
CreateInvoiceData
CreateInvoiceData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

InvoiceId

long

Номер выставленного СКО

<BankCardData>
Anchor
BankCardData
BankCardData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

<BankCardPaymentStateData>
Anchor
BankCardPaymentStateData
BankCardPaymentStateData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

PaymentStep

<PaymentStep>

Статусы платежа

Message

string

Текстовое представление последнего статуса операции в банке (RC)

Form3DS

string

Обычно это html, выданный эмитентом для прохождения процедуры прохождения 3ds

<ActivationPayData>
Anchor
ActivationPayData
ActivationPayData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

<PaymentWayListData>
Anchor
PaymentWayListData
PaymentWayListData

ПолеТипОписание
State<ResultState>Код результата операции
PaymentWays<PaymentWayData>Информация о способах оплаты

<PaymentWayData>
Anchor
PaymentWayData
PaymentWayData

ПолеТипОписание
IdintУникальный идентификатор способа оплаты
Amount<Money>

Сумма

InputType<InputType>Способы оплаты
PreferenceTypes<PreferenceTypeSpecification>Группы способов оплаты
ServiceTimeOfEnrollmentType<MerchantServiceTimeOfEnrollmentType>Сроки зачисления
CommissiondecimalСумма комиссии

<Money>
Anchor
Money
Money

ПолеТипОписание
AmountdecimalСумма
Currency<Currency>Валюта

<MerchantServiceData>
Anchor
MerchantServiceData
MerchantServiceData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

<PostPayBlankData>
Anchor
PostPayBlankData
PostPayBlankData

ПолеТипОписание
State<ResultState>Код результата операции
PostPayBlankString

Возвращает строку для вставки в html. Пример обработки данной строки, где {$PostPayBlank} результат запроса:

Code Block
languagexml
themeConfluence
titleПример кода
linenumberstrue
<img class="printed__img" src="data:image/png;base64,{$PostPayBlank}">
<script>
    var PostPayBlank = "data:image/png;base64,{$PostPayBlank}";
</script>


<ExchangerPaymentData>
Anchor
ExchangerPaymentData
ExchangerPaymentData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

ExchangerData<ExchangerData>Информация о способе оплаты

<ExchangerData>
Anchor
ExchangerData
ExchangerData

Поле

Тип

Описание

ExchangeCurrency

string

Валюта оплаты

ExchangeAmountstringСумма оплаты 
RedirectToUrlstringАдрес, куда отправлять запрос
ExchangeStateEnumСостояние способа оплаты.
OK - способ работает
ERROR - способ не работает
IsNewWindowString

Если true, отображение в новом окне.

Если false, отображается в том же окне

FormFieldsArray[ключ, значение]Поля для формы которые надо заполнить
ShowFieldsArray[ключ, значение]Поля для отображения информации
Method<UrlMethod>Способ которым будет происходить процесс оплаты. Подробнее смотрите в разделе <UrlMethod>.

<PurchaseInfoData>
Anchor
PurchaseInfoData
PurchaseInfoData

Поле

Тип

Описание

State

<ResultState>

Код результата операции

Invoice<InvoiceData>Информация о способе оплаты
Eshop<EshopData>Информация о магазине
SuccessUrlstringСтрока с url, куда пользователя перенаправят после успешной оплаты
BackUrlstringСтрока с url, куда перенаправят покупателя после оплаты
UserPaymentFormInfo<UserPaymentFormType>Настройка для физиков, если true деньги зачисляются на карту (перевод на карту), если false деньги зачисляются в личный кошелек (в кошелек IntellectMoney)

<InvoiceData>
Anchor
InvoiceData
InvoiceData

ПолеТипОписание
InvoiceIdlongНомер СКО, по которому была найдена информация
LeftToPayAmountMoney

В узле <LeftToPayAmount> сумма СКО к оплате, если счёт ежу оплачен покажет 0.

TotalAmountMoneyВ узле <TotalAmount> сумма с учётом комиссии для указанного способа оплаты , если счёт уже оплачен покажет 0 .
OrderIdstringВнутренний номер покупки поставщика
NamestringОписание товара или услуги. Соответствует serviceName
State<InvoiceState>Статус СКО, подробное описание перечислителя смотрите ниже
CreateionDateDateTimeДата создания СКО
ChangeDateDateTimeДата последних изменений СКО
UserEmailstringEmail указанный покупателем. Соответствует пол.

<EshopData>

Содержит информацию о магазине

ПолеТипОписание
EshopIdintНомер магазина в системе IntellectMoney
NamestringНазвание магазина
DescriptionstringОписание магазина
UrlstringСайт магазина
EmailstringEmail, на который отправляются оповещения
PhonestringНомер телефона магазина
WorkTimestringВремя работы магазина
TemplateIdintВерсия страницы оплаты


ПЕРЕЧИСЛЕНИЯ
Anchor
ServiceOperatonState
ServiceOperatonState

Коды статуса операции

Код ошибки

Описание

0

Успешно обработана

1

В процессе выполнения

2

Ошибка

Коды результата операции
Anchor
MerchantServiceState
MerchantServiceState

Код ошибки

Описание

0

Успешно обработан

1Обработан с предупреждениями

2

Особый вид ошибок

10Ошибка сервера

11

Не защищенное соединение. Отправляйте запрос по https

101

Ошибка. В настройках магазина не выбран протокол обмена

150Ошибка. Параметр eshopId передан неверно
151Ошибка. Параметр invoiceId передан неверно
152Ошибка. Обязательно должен быть передан либо eshopId, либо invoiceId
153Ошибка. Параметр inputType передан неверно. Проверьте подключение способа оплаты у магазина и лимиты платежа.
154Ошибка. Не передан обязательный параметр hash или передан неверно
155Ошибка. Не передан обязательный параметр amount или передан неверно
156Ошибка. Параметр preferences передан неверно
157Ошибка. Не передан обязательный параметр recipientAmount или передан неверно
158Ошибка. Не передан обязательный параметр recipientCurrency или передан неверно
159Ошибка. Не передан обязательный параметр email или передан неверно
160Ошибка. Параметр serviceName передан неверно
161Ошибка. Не передан обязательный параметр userName или передан неверно
162Ошибка. Параметр successUrl передан неверно
163Ошибка. Параметр failUrl передан неверно
164Ошибка. Параметр backUrl передан неверно
165Ошибка. Параметр resultUrl передан неверно
166Ошибка. Параметр returnUrl передан неверно
167Ошибка. Параметр expireDate передан неверно
168Ошибка. Параметр holdMode передан неверно
169Ошибка. Параметр(ы) userFields передан(ы) неверно
170Ошибка. Не передан обязательный параметр orderId или передан неверно
171Ошибка. Тестовый счет можно оплатить только способом "Со счёта IntellectMoney"
172Ошибка. Параметр secretKey передан неверно
173Ошибка. Параметр action передан неверно
174Ошибка. Параметр operationAmount передан неверно
175Ошибка. Обязательно должен быть передан invoiceId, либо orderId
176Ошибка. Не передан обязательный параметр ipAddress или передан неверно
178Ошибка. Счет уже был оплачен ранее
179Ошибка. Параметр language передан неверно
180Ошибка. Параметр onlinePaymentCryptogram передан неверно
200Ошибка. Не передан обязательный параметр pinCode или передан неверно
201Ошибка. Не передан обязательный параметр userToken или передан неверно
202Ошибка. Данный счет не принадлежит владельцу кошелька IntellectMoney
203Ошибка. В кошельке IntellectMoney нет подходящего счета с нужной валютой
204Ошибка. Для проведения оплаты необходимо пройти идентификацию в личном кабинете IntellectMoney
205Ошибка. Превышен лимит на оплату для кошелька IntellectMoney
206Ошибка. Пополнение неперсонифицированных кошельков с предоплаченных карт запрещено
250Ошибка. Не передан обязательный параметр pan или передан неверно.
251Ошибка. Не передан обязательный параметр cvv или передан неверно
252Ошибка. Не передан обязательный параметр cardHolder или передан неверно
253Ошибка. Не передан обязательный параметр expiredYear или передан неверно
254Ошибка. Не передан обязательный параметр expiredMonth или передан неверно
255Ошибка. Не передан обязательный параметр activationAmount или передан неверно
256Ошибка. Карта плательщика заблокирована.
257Ошибка. Счет в неверном статусе. Оплата не возможна.
258Ошибка. Есть не завершенные платежи. Дождитесь обработки.
259Ошибка. Платеж запрещен.
300Ошибка. Неверно передан параметр Pparameter.
301Ошибка. Неверно передан параметр inn.
302Ошибка. Неверно передан параметр residentofrussia.
303Ошибка. Неверно передан параметр series.
304Ошибка. Неверно передан параметр number.
350Ошибка. Неверно переданы новые позиции по чеку
351Форма оплаты удалена. Невозможно выставить счет на удаленную форму. Обратитесь в администрацию магазина
352Форма оплаты удалена. Невозможно оплатить счет на удаленную форму. Обратитесь в администрацию магазина

Статусы платежа
Anchor
MerchanteServicePaymentStep
MerchanteServicePaymentStep

Название статуса

Описание

Ok

Успешно завершен (Счет оплачен)

Created

Создан

InProcess

В обработке

SendTo3DS

Отправлен на 3DS

ActivationPayment

Отправлен на активационный платеж

Error

Ошибка платежа

Группы способов оплаты
Anchor
PreferenceTypeSpecificationEnum
PreferenceTypeSpecificationEnum

Название группы

Описание

AllВсе
PopularПопулярные
OnlineОнлайн
NonComissionБез комиссии
FlashМгновенные

Сроки зачисления
Anchor
MerchantServiceTimeOfEnrollmentTypeEnum
MerchantServiceTimeOfEnrollmentTypeEnum

Название

Описание

NoneДо 30 рабочих дней
FlashМгновенно
FiveDaysДо 5 рабочих дней
ThreeDaysДо 3 рабочих дней

Способы оплаты
Anchor
InputTypeEnum
InputTypeEnum

InputTypeОписание

InnerPayment

Внутренний перевод
AcquiringОплата с банковской карты
BankRFБанковский перевод
WMRWebMoney
YandexЯндекс.Деньги
QiwiPurseQIWI Кошелёк
AlfaClickPayUАльфа-Клик
IBankИнтернет банкинг

Bankomats

В банкоматах
TerminalsВ терминалах
RapidaOnlineRapidaOnline
GoogleADSGoogleADS
PostPayЧерез почту РФ
MvideoMvideo
QBankQBank через Rapida
SberBankСбербанк Онлайн
AlfaClickАльфаКлик
SvyaznoyВ салонах Связной

Метод проведения оплаты через обменники
Anchor
UrlMethodEnum
UrlMethodEnum

UrlMethodОписание
POSTДанные на обменник передаются POST-ЗАПРОСОМ, после чего происходит оплата
GETДанные на обменник передаются GET-ЗАПРОСОМ, после чего происходит оплата
LINKВозвращает ссылку
REDIRECTОзначает что пользователя надо перенаправить
STATICПеренаправление не требуется
IFRAMEДанные возвращаются в IFrame, где и происходит оплата

Состояния СКО

InvoiceStateОписание
CreatedСоздан
PartPaidЧастично оплачен
PaidПолностью оплачен
ToPaidВ процессе обработки
RefundВозврат
HeldЗахолдирован

Валюта
Anchor
CurrencyEnum
CurrencyEnum

НазваниеОписание
RUB и RURРоссийский рубль
TSTВалюта для тестовых платежей
USDАмериканский доллар
EURЕвро


Table of Contents