Page tree

Versions Compared

Key

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

Для вызова методов API нужно придумать и задать свой секретный ключ в настройках магазина, на вкладке "Подключение магазина". Также, для авторизациипосле заключения договора, нужно получить Bearer токен с доп. ключом на странице Безопасность. Допустимо не , они понадобятся для авторизации:

Image Added

Уровень PCI DSS нужен для методов API, в которых передаются карточные данные, например для метода BankCardPayment

До заключения договора можно использовать валюту TST, она не требует авторизации (для нее не обязательно передавать заголовки Authorization и Sign).

Multiexcerpt
hiddentrue
MultiExcerptNameHTTP Заголовок 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.

...

Multiexcerpt
hiddentrue
MultiExcerptNameHTTP заголовок Authorization

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


Multiexcerpt
hiddentrue
MultiExcerptNameПараметр hash

У каждого метода API имеется параметр hash. Чтобы рассчитать этот хеш, нужно использовать шаблон, уникальный для каждого метода. К примеру, вот шаблон из метода 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.

...

Section


Column
width60%

Параметры

Имя параметраОписание
eshopId
Обязательный
ID магазина, в котором был выставлен счёт
invoiceId
Обязательный
Номер счёта
hash
Обязательный

Контрольная подпись запроса

Expand
titleФормирование подписи запроса

Multiexcerpt include
MultiExcerptNameПараметр hash
addpaneltrue
PageWithExcerptБыстрый старт




Column


Tip
iconfalse
titleПример запроса


Code Block
languagetext
titleЗаголовки
Content-Type: application/json
Accept: application/json
Authorization: Bearer 92022dd8245a56d8a73446b43ebb3590
Sign: 0ae3bb9779c482057580595c6b47e437ee6a4dda1065002e7d77ab597956bb70


Code Block
languagetext
titleТело
{
    "eshopId": "465932",
    "invoiceId": "3227169792",
    "hash": "815ec9d288bd6926bc37304cde7db05e"
}



Tip
iconfalse
titleПример ответа

Для получения ответа в формате JSON в запросе должен быть заголовок Accept: application/json

Code Block
languagetext
titleТело
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "EshopId": 465932,
    "Result": {
        "PaymentStep": "InProcess",
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан"
        }
    }
}






...

Section

Anchor
BankCardPaymentApiMethod
BankCardPaymentApiMethod

Column
width60%

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

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

Multiexcerpt include
MultiExcerptNameЗаголовки Merchant 2.0 API
PageWithExcerptБыстрый старт

Code Block
languagetext
titleШаблон формирования заголовка Sign
eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::signSecretKey


Code Block
languagetext
titleШаблон формирования параметра hash
eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::secretKey

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

Для использования этого метода у вашей организации должна быть сертификация PCI DSS. Если у вас её нет, то оплату можно реализовать перенаправлением покупателя на нашу платежную страницу, либо внедрением нашего платежного виджета на сайт.


Column



...