Page tree

Versions Compared

Key

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


columnwidth

Схема интеграции

  1. Выставляем счёт
    • Либо с помощью метода API CreateInvoice
    • Либо можно сформировать ссылку, при переходе покупателя на которую счёт выставится автоматически
  2. Покупатель оплачивает счёт
    • Либо на нашей платежной странице
    • Либо в нашем виджете
    • Либо на вашем сайте, с помощью метода BankCardPayment (у вашей организации должна быть сертификация PCI DSS)
  3. Получаем статус оплаты
    • Либо ждем HTTP POST запроса об изменении статуса от IntellectMoney
    • Либо периодически вызываем метод API GetBankCardPaymentState

Авторизация в API

Для авторизации в запросе нужно передать 3 строки: ваш Bearer токен и два хеша.

HTTP заголовок Authorization

В заголовке Authorization нужно передать Bearer токен в формате Bearer 92022dd8245a56d8a73446b43ebb3590. Bearer token (с секретным ключом) можно запросить в личном кабинете.

Image Removed

HTTP заголовок Sign

В заголовке Sign нужно передать хеш, сформированный из остальных параметров. Хеш формируется по шаблону, которой уникален для каждого метода. Для примера, вот шаблон из метода CreateInvoiceeshopId
  1. :

Sectionmultiexcerpt
hidden
true
MultiExcerptNameHTTP Заголовок Sign

HTTP заголовок Sign

В заголовке Sign нужно передать хеш, сформированный из остальных параметров. Хеш формируется по шаблону, которой уникален для каждого метода. Для примера, вот шаблон из метода CreateInvoice:

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

В нем signSecretKey - секретный ключ, полученный вместе с Bearer токеном на странице https://lk.intellectmoney.ru/profile/security/api, остальное - параметры передаваемые в метод.

Скажем, что вы вызываете метод CreateInvoice со следующими параметрами:

Code Block
languagetext
titleПараметры
eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru

Для рассчета хеша нужно:

  1. Заменить имена параметров в шаблоне их значениями, и подставить секретный ключ вместо signSecretKey. Получаем строку

80%
Code Block
languagetext
titleШаблон формирования заголовка Sign
  1. 462539::
orderId
  1. myorder::
serviceName
  1. ::
recipientAmount
  1. 10.00::
recipientCurrency
  1. RUB::
userName
  1. ::
email
  1. e@e.ru::
successUrl
  1. ::
failUrl
  1. ::
backUrl
  1. ::
resultUrl
  1. ::
expireDate
  1. ::
holdMode
  1. ::
preference
  1. ::
signSecretKey

В нем signSecretKey - секретный ключ, полученный вместе с Bearer токеном на странице https://lk.intellectmoney.ru/profile/security/api, остальное - параметры передаваемые в метод.

  1. 21baff51c1a342f3ac059e61e0894583


  2. Эту строку нужно закодировать в UTF-8 и посчитать от нее хеш SHA256. Получаем хеш

Скажем, что вы вызываете метод CreateInvoice со следующими параметрами
  1. :

    Code Block
    languagetext
    1c4e379396faee212c676d500ee12a21354d8f68b1acbc40b64065cd7dcd50fa


Полученный хеш записываем в заголовок Sign.


Section


Для рассчета хеша нужно:

Заменить имена параметров в шаблоне их значениями, и подставить секретный ключ вместо signSecretKey. Получаем строку:

Column
width80%

Схема интеграции

  1. Выставляем счёт
    • Либо с помощью метода API CreateInvoice
    • Либо можно сформировать ссылку, при переходе покупателя на которую счёт выставится автоматически
  2. Покупатель оплачивает счёт
    • Либо на нашей платежной странице
    • Либо в нашем виджете
    • Либо на вашем сайте, с помощью метода BankCardPayment (у вашей организации должна быть сертификация PCI DSS)
  3. Получаем статус оплаты
    • Либо ждем HTTP POST запроса об изменении статуса от IntellectMoney
    • Либо периодически вызываем метод API GetBankCardPaymentState

Авторизация в API

Для авторизации в запросе нужно передать 3 строки: ваш Bearer токен и два хеша.

HTTP заголовок Authorization

В заголовке Authorization нужно передать Bearer токен в формате Bearer 92022dd8245a56d8a73446b43ebb3590. Bearer token (с секретным ключом) можно запросить в личном кабинете.

Image Added

titleПараметры
eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru
Code Block
languagetext
462539::myorder::::10.00::RUB::::e@e.ru::::::::::::::::21baff51c1a342f3ac059e61e0894583

Эту строку нужно закодировать в UTF-8 и посчитать от нее хеш SHA256. Получаем хеш:

Code Block
languagetext
1c4e379396faee212c676d500ee12a21354d8f68b1acbc40b64065cd7dcd50fa

Полученный хеш записываем в заголовок Sign.

Параметр hash

У каждого метода API имеется параметр hash. В него нужно передать хеш, формируемый подобно хешу из заголовка Sign. Чтобы рассчитать этот хеш, нужно использовать шаблон, уникальный для каждого метода. К примеру, вот шаблон из метода CreateInvoice:

Code Block
languagetext
titleШаблон формирования параметра hash
eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::secretKey

Здесь secretKey - ключ, заданный в личном кабинете в настройках магазина. Это ключ, как и весь шаблон, не связаны с ключем и шаблоном из заголовка Sign.

Возьмем такие параметры для примера:

Code Block
languagetext
titleПараметры
eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru

Для расчета параметра hash нужно:

  1. Заменить имя каждого параметра его значением, и подставить секретный ключ вашего магазина вместо secretKey:

    Code Block
    languagetext
    462539::myorder::::10.00::RUB::::e@e.ru::::::::::::::::my_very_secret_key


  2. Закодировать полученную строку в UTF-8 и расчитать её MD5 хеш:

    Code Block
    languagetext
    7a97ff0cda3d7593c1a69a04d0a78a13


Полученный хеш нужно передать в параметре hash.


Column



...

Section


title

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

/merchant/createInvoice

Заголовки:

  • Authorization:
  • Bearer
  • <ваш
  • токен>
  • Sign:

  • <хеш

  • рассчитанный

  • по

  • шаблону

ниже>
  • ниже>

Column
width60%

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

languagetext
Code Block
Expand
titleФормирование заголовка Sign

Multiexcerpt include
addpaneltrue
PageWithExcerptБыстрый старт


  • Content-Type:
    • application/json
    • или
    • application/x-www-form-urlencoded
    • Accept:
    • application/json
    • или
    • application/xml
    Code Block
    languagetext
    titleЗаголовки


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


    Code Block
    languagetext
    titleШаблон формирования параметра hash
    eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::secretKey



    Column



    ...