Multiexcerpt |
---|
hidden | true |
---|
MultiExcerptName | HTTP Заголовок Sign |
---|
|
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 |
---|
|
HTTP заголовок Authorization В заголовке Authorization нужно передать Bearer токен в формате Bearer 92022dd8245a56d8a73446b43ebb3590 . Bearer token (вместе с секретным ключом) можно запросить в личном кабинете. |
Multiexcerpt |
---|
hidden | true |
---|
MultiExcerptName | Параметр hash |
---|
|
Параметр 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 |
---|
| CreateInvoice - ВЫСТАВЛЕНИЕ СЧЁТА К ОПЛАТЕPOST https://api.intellectmoney.ru/merchant/createInvoice Заголовки: Code Block |
---|
language | text |
---|
title | Шаблон формирования заголовка Sign |
---|
| eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::signSecretKey |
Code Block |
---|
language | text |
---|
title | Шаблон формирования параметра hash |
---|
| eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::secretKey |
|
|
Section |
---|
Column |
---|
| ПараметрыИмя параметра | Описание |
---|
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 |
---|
addpanel | true |
---|
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 |
---|
icon | false |
---|
title | Пример запроса |
---|
|
Code Block |
---|
language | text |
---|
title | Заголовки |
---|
| Content-Type: application/json
Accept: application/json
Authorization: Bearer 92022dd8245a56d8a73446b43ebb3590
Sign: 58654f0550d44fb36fdb986080318aa9b277e1c7336ff6bdb2d00e329f2550e2 |
Code Block |
---|
| {
"eshopId": "465932",
"orderId": "a072334a33c0428d8a447072a779ddf0",
"recipientAmount": "15.00",
"recipientCurrency": "TST",
"email": "e.mozgovoy+1@intellectmoney.ru",
"hash": "9b37951051c0ef86f837d1ed5a0780f6"
} |
|
Tip |
---|
icon | false |
---|
title | Пример ответа |
---|
| Для получения ответа в формате JSON в запросе должен быть заголовок Accept: application/json Code Block |
---|
| {
"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 |
---|
| GetBankCardPaymentState - СОСТОЯНИЕ ПЛАТЕЖАPOST https://api.intellectmoney.ru/merchant/getbankcardpaymentstate Code Block |
---|
language | text |
---|
title | Заголовки |
---|
| Authorization: Bearer <ваш токен>
Sign: <хеш рассчитанный по шаблону ниже>
Content-Type: application/json или application/x-www-form-urlencoded
Accept: application/json или application/xml |
Code Block |
---|
language | text |
---|
title | Шаблон формирования заголовка Sign |
---|
| eshopId::invoiceId::signSecretKey |
Code Block |
---|
language | text |
---|
title | Шаблон формирования параметра hash |
---|
| eshopId::invoiceId::secretKey |
|
|
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"
} |
|
|
|
Пример ответа
Чтобы получить ответ в формате JSON, нужно добавить в запрос заголовок Accept: application/json
{
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"EshopId": 465932,
"Result": {
"PaymentStep": "InProcess",
"State": {
"Code": 0,
"Desc": "Успешно обработан"
}
}
}
Section |
---|
Column |
---|
| BankCardPayment - ОПЛАТА БАНКОВСКОЙ КАРТОЙPOST https://api.intellectmoney.ru/merchant/bankcardpayment Code Block |
---|
language | text |
---|
title | Заголовки |
---|
| Authorization: Bearer <ваш токен>
Sign: <хеш рассчитанный по шаблону ниже>
Content-Type: application/json или application/x-www-form-urlencoded
Accept: application/json или application/xml |
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. Если у вас её нет, то оплату можно реализовать перенаправлением покупателя на нашу платежную страницу, либо внедрением нашего платежного виджета на сайт. |
|
Section |
---|
Column |
---|
| ПараметрыИмя параметра | Описание |
---|
eshopId Обязательный | ID магазина, где был выставлен счёт | invoiceId Обязательный | Номер счёта к оплате | ipAddress Обязательный | IP адрес сайта, с которого выставляется платеж. | returnUrl Обязательный | Адрес, на который перенаправляет плательщика после завершения 3DS. | cardHolder | Имя и фамилия с карты | pan Обязательный | Номер карты плательщика | cvv Обязательный для карт имеющих CVV2 (CVC2) | Секретный код CVV2 (CVC2), как правило написан на обороте карты (последние три цифры на полосе для подписи). Параметр не нужно передавать, если карта не имеет кода. | expiredYear Обязательный | Год, до которого действует карта | expiredMonth Обязательный | Месяц, до которого действует карта | 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 7b51b65ec7da4b518bc0ef41617adf3a
Sign: a861e54fd1aae4e0686a4dd532ba15daf892058752329a07f57b0cb8d199a05b |
Code Block |
---|
| {
"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"
} |
|
|
|
Пример ответа
Чтобы получить ответ в формате JSON, нужно добавить в запрос заголовок Accept: application/json
{
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"EshopId": 465932,
"Result": {
"State": {
"Code": 0,
"Desc": "Успешно обработан"
}
}
}