Для вызова методов API нужно придумать и задать свой секретный ключ в настройках магазина, на вкладке "Подключение магазина". Также, для авторизациипосле заключения договора, нужно получить Bearer токен с доп. ключом на странице Безопасность. Допустимо не , они понадобятся для авторизации:
Image Added
Уровень PCI DSS нужен для методов API, в которых передаются карточные данные, например для метода BankCardPayment
До заключения договора можно использовать валюту TST, она не требует авторизации (для нее не обязательно передавать заголовки Authorization
и Sign)
.
Multiexcerpt |
---|
hidden | true |
---|
MultiExcerptName | HTTP Заголовок Sign |
---|
|
В заголовке Sign нужно передать хеш, сформированный из остальных параметров. Хеш формируется по шаблону, которой уникален для каждого метода. Для примера, вот шаблон из метода CreateInvoice : Code Block |
---|
language | text |
---|
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 |
---|
language | text |
---|
title | Параметры |
---|
| eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru |
Для рассчета хеша нужно: Заменить имена параметров в шаблоне их значениями, и подставить секретный ключ вместо signSecretKey . Получаем строку: Code Block |
---|
| 462539::myorder::::10.00::RUB::::e@e.ru::::::::::::::::21baff51c1a342f3ac059e61e0894583 |
Эту строку нужно закодировать в UTF-8 и посчитать от нее хеш SHA256. Получаем хеш: Code Block |
---|
| 1c4e379396faee212c676d500ee12a21354d8f68b1acbc40b64065cd7dcd50fa |
Полученный хеш записываем в заголовок Sign . |
...
Multiexcerpt |
---|
hidden | true |
---|
MultiExcerptName | HTTP заголовок Authorization |
---|
|
В заголовке Authorization нужно передать Bearer токен в формате Bearer 92022dd8245a56d8a73446b43ebb3590 . Bearer token (вместе с секретным ключом) можно запросить в личном кабинете после заключения договора. |
Multiexcerpt |
---|
hidden | true |
---|
MultiExcerptName | Параметр hash |
---|
|
У каждого метода API имеется параметр hash . Чтобы рассчитать этот хеш, нужно использовать шаблон, уникальный для каждого метода. К примеру, вот шаблон из метода CreateInvoice : Code Block |
---|
language | text |
---|
title | Шаблон формирования параметра hash |
---|
| eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::secretKey |
Здесь secretKey - ключ, заданный в личном кабинете в настройках магазина. Это ключ, как и весь шаблон, не связаны с ключем и шаблоном из заголовка Sign . Возьмем такие параметры для примера: Code Block |
---|
language | text |
---|
title | Параметры |
---|
| eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru |
Для расчета параметра hash нужно: Заменить имя каждого параметра его значением, и подставить секретный ключ вашего магазина вместо secretKey : Code Block |
---|
| 462539::myorder::::10.00::RUB::::e@e.ru::::::::::::::::my_very_secret_key |
Закодировать полученную строку в UTF-8 и расчитать её MD5 хеш: Code Block |
---|
| 7a97ff0cda3d7593c1a69a04d0a78a13 |
Полученный хеш нужно передать в параметре hash . |
...
Section |
---|
Column |
---|
| ПараметрыИмя параметра | Описание |
---|
eshopId Обязательный | ID магазина, в котором был выставлен счёт | invoiceId Обязательный | Номер счёта | hash Обязательный | Контрольная подпись запроса Expand |
---|
title | Формирование подписи запроса |
---|
| Multiexcerpt include |
---|
MultiExcerptName | Параметр hash |
---|
addpanel | true |
---|
PageWithExcerpt | Быстрый старт |
---|
|
|
|
|
Column |
---|
Tip |
---|
icon | false |
---|
title | Пример запроса |
---|
|
Code Block |
---|
language | text |
---|
title | Заголовки |
---|
| Content-Type: application/json
Accept: application/json
Authorization: Bearer 92022dd8245a56d8a73446b43ebb3590
Sign: 0ae3bb9779c482057580595c6b47e437ee6a4dda1065002e7d77ab597956bb70 |
Code Block |
---|
| {
"eshopId": "465932",
"invoiceId": "3227169792",
"hash": "815ec9d288bd6926bc37304cde7db05e"
} |
|
Tip |
---|
icon | false |
---|
title | Пример ответа |
---|
| Для получения ответа в формате JSON в запросе должен быть заголовок Accept: application/json Code Block |
---|
| {
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"EshopId": 465932,
"Result": {
"PaymentStep": "InProcess",
"State": {
"Code": 0,
"Desc": "Успешно обработан"
}
}
} |
|
|
|
...
Section |
---|
Anchor |
---|
| BankCardPaymentApiMethod |
---|
| BankCardPaymentApiMethod |
---|
|
Column |
---|
| BankCardPayment - ОПЛАТА БАНКОВСКОЙ КАРТОЙPOST https://api.intellectmoney.ru/merchant/bankcardpayment Multiexcerpt include |
---|
MultiExcerptName | Заголовки Merchant 2.0 API |
---|
PageWithExcerpt | Быстрый старт |
---|
|
Code Block |
---|
language | text |
---|
title | Шаблон формирования заголовка Sign |
---|
| eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::signSecretKey |
Code Block |
---|
language | text |
---|
title | Шаблон формирования параметра hash |
---|
| eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::secretKey |
Используется для передачи реквизитов банковской карты и дальнейшей оплаты счета. Для использования этого метода у вашей организации должна быть сертификация PCI DSS. Если у вас её нет, то оплату можно реализовать перенаправлением покупателя на нашу платежную страницу, либо внедрением нашего платежного виджета на сайт. |
|
...