Page tree

Versions Compared

Key

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


Section


Column
width900px

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

  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 Modified

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

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


  1. Закодировать полученную строку в UTF-8 и расчитать её MD5 хеш:
Code Block
languagetext
7a97ff0cda3d7593c1a69a04d0a78a13

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


Column




...

Методы API

Section


Column
width60%

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

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

Code Block
languagetext
titleЗаголовки
Authorization: Bearer <ваш токен>
Sign: <хеш рассчитанный по шаблону ниже>
Content-Type: application/json или application/x-www-form-urlencoded
Accept: application/json или application/xml


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



...