Page tree

Versions Compared

Key

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

...

Section


Column
width60%

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

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

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

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

HTTP заголовок Authorization

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

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. Получаем строку:

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


  2. Эту строку нужно закодировать в 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



...