Page tree

Versions Compared

Key

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

...

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

HTTP заголовок Authorization

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


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

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

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

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

HTTP заголовок Authorization

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

Параметр hash

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

:

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

Параметр 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.

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

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

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

Возьмем такие параметры для примера
 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


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

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

Column
width80%

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

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

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

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

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::::::::::::::::my_very_secret_key

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

Code Block
languagetext
7a97ff0cda3d7593c1a69a04d0a78a13

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



Column




...

Методы API

Section


Column
width60%

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

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

Заголовки:

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

    Expand
    titleФормирование заголовка Authorization

    Multiexcerpt include
    MultiExcerptNameHTTP заголовок Authorization
    addpaneltrue
    PageWithExcerptБыстрый старт


  • Sign: <хеш рассчитанный по шаблону ниже>

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

    Multiexcerpt include
    MultiExcerptNameHTTP Заголовок Sign
    addpaneltrue
    PageWithExcerptБыстрый старт


  • 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



...

Section


Column
width60%

Параметры

Имя параметраОписание
eshopId
Обязательный
ID магазина
orderId
Обязательный
Уникальный идентификатор покупки из вашей системы.
до 50 символов
recipientAmount
Обязательный
Сумма платежа, разделенная точкой. Минимальное значение - 10.00.
До 13 символов, до 2 цифр после точки.
recipientCurrency
Обязательный
Валюта платежа.
Допустимые значения
- TST (тестовая валюта)
- RUB
- USD
- EUR
email
Обязательный
E-mail покупателя. До 100 символов.
hash
Обязательный
Обязательный

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

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

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

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


serviceNameНазначение платежа - описание товара или услуги.
До 1024 символов.
userNameИмя покупателя, До 255 символов.
successUrlАдрес, на который происходит перенаправление плательщика с платежной страницы после успешной оплаты
До 512 символов.
failUrlАдрес, на который происходит перенаправление плательщика с платежной страницы в случае неуспешной оплаты
До 512 символов.
backUrlАдрес ссылки "Вернуться в магазин" на платежной странице
До 512 символов.
resultUrlАдрес, на который система IntellectMoney посылает HTTP/S POST запросы об изменении состояния cчёта
До 512 символов.
expireDateСрок существования счёта - дата и время, по достижению которых оплатить счёт станет невозможно.
Формат: yyyy-MM-dd HH:mm:ss.
preferenceВозможные способы оплаты счёта. Если не передавать, счет можно будет оплатить любым из подключенных способов.
Допустимые значения
- BankCard
- YandexPay
- Sbp
Можно перечислить несколько значений через запятую, например "BankCard,YandexPay,Sbp".

В этой таблице опущена часть параметров, например параметры связанные с холдированием, онлайн кассой, и рекаррингом. См. полный список параметров здесь: СЮДА НАДО ССЫЛКУ НА Merchant API


Column


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


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


Code Block
languagetext
titleТело
{
    "eshopId": "465932",
    "orderId": "a072334a33c0428d8a447072a779ddf0",
    "recipientAmount": "15.00",
    "recipientCurrency": "TST",
    "email": "e.mozgovoy+1@intellectmoney.ru",
    "hash": "9b37951051c0ef86f837d1ed5a0780f6"
}



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

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

Code Block
languagetext
titleТело
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "EshopId": 465932,
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан"
        },
        "InvoiceId": 3227169792,
        "PaymentWays": [
            {
                "Id": 132,
                "Amount": {
                    "Amount": 15.0000,
                    "Currency": "TST"
                },
                "InputType": "TestAcquiring",
                "Preference": "BankCard",
                "PreferenceTypes": [
                    "All",
                    "Popular",
                    "Online",
                    "NonComission",
                    "Flash"
                ],
                "ServiceTimeOfEnrollmentType": "Flash",
                "Commission": 0.0,
                "IsVisible": true,
                "IsActive": true,
                "Position": 110
            }
        ]
    }
}




...

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"
}




...

Section


Column
width60%

Параметры

Имя параметраОписание
eshopId
Обязательный
ID магазина, где был выставлен счёт
invoiceId
Обязательный
Номер счёта к оплате
ipAddress
Обязательный
IP адрес сайта, с которого выставляется платеж.
returnUrl
Обязательный
Адрес, на который перенаправляет плательщика после завершения 3DS.
cardHolderИмя и фамилия с карты
pan
Обязательный
Номер карты плательщика
cvv
Обязательный для карт имеющих CVV2 (CVC2)
Секретный код CVV2 (CVC2), как правило написан на обороте карты (последние три цифры на полосе для подписи). Параметр не нужно передавать, если карта не имеет кода.
expiredYear
Обязательный
Год, до которого действует карта
expiredMonth
Обязательный
Месяц, до которого действует карта
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 7b51b65ec7da4b518bc0ef41617adf3a
Sign: a861e54fd1aae4e0686a4dd532ba15daf892058752329a07f57b0cb8d199a05b


Code Block
languagetext
titleТело
{
    "eshopId": "465932",
    "invoiceId": "3227169792",
    "ipAddress": "1.1.1.1",
    "returnUrl": "https://example.com",
    "cardHolder": "NAME SURNAME",
    "pan": "4111111111111111",
    "cvv": "123",
    "expiredYear": "29",
    "expiredMonth": "02",
    "hash": "46cc4a126da424cd1495eeccd791cb71"
}




...