...
Section |
---|
Column |
---|
| ЗапросИмя параметра | Описание |
---|
eshopId Обязательный | ID магазина | orderId Обязательный | Уникальный идентификатор покупки из вашей системы. до 50 символов | recipientAmount Обязательный | Сумма платежа, разделенная точкой. Минимальное значение - 10.00 . До 13 символов, до 2 цифр после точки. | recipientCurrency Обязательный | Валюта платежа.
Multiexcerpt include |
---|
MultiExcerptName | Возможные значения Currency |
---|
PageWithExcerpt | Быстрый старт |
---|
|
| 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 символов. | preference | Возможные способы оплаты счёта. Если не передавать, счет можно будет оплатить любым из подключенных способов. Expand |
---|
| Можно перечислить несколько значений через запятую, например BankCard,YandexPay,Sbp |
| holdMode | Сразу списывать средства с карты, или холдировать (замораживать) Expand |
---|
| 1 - включить холдирование0 - отключить холдированияnull /не передан - использовать настройки холдирования магазина
|
| expireDate Обязательный при holdMode = 1 | Срок существования счёта - дата и время, по достижению которых оплатить счёт станет невозможно. Формат: yyyy-MM-dd HH:mm:ss . | holdTime Обязательный при holdMode = 1 | Время, через которое захолдированные средства будут автоматически зачислены на счёт магазина или возвращены покупателю, измеряется в часах. Целое число от 1 до 119 часов |
В этой таблице опущена часть параметров, например параметры связанные с онлайн кассой и рекаррингом. См. полный список параметров в описании Merchant 2.0 API. |
Column |
---|
Tip |
---|
icon | false |
---|
title | Пример запроса |
---|
|
Localtab Group |
---|
Localtab |
---|
active | true |
---|
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"
} |
|
Localtab |
---|
|
Code Block |
---|
language | php |
---|
title | Пример PHP с библиотекой IM |
---|
| // Используется библиотека <тут ссылка на библиотеку>
<?php
// TODO сделать нормальный пример
require_once __DIR__ . '/../vendor/autoload.php';
use IntellectMoney\SDK\MerchantApiClient;
use IntellectMoney\SDK\Structs\Common\AuthData;
use IntellectMoney\SDK\Structs\Request\CreateInvoiceDataModel;
use IntellectMoney\SDK\Structs\Common\Money;
$dataModel = new CreateInvoiceDataModel([
"eshopId" => "465932",
"orderId" => "fdsfdsfsd",
"recipientAmount" => new Money(10),
"email" => "e.mozgovoy+1@intellectmoney.ru"
]);
$authData = new AuthData(123456"your_eshop_secret_key");
$result = MerchantApiClient::createInvoice($dataModel, $authData);
echo "<pre>";
var_dump($result); |
|
Localtab |
---|
|
Code Block |
---|
| #!/bin/bash
# Ключи
bearer_token="d41d8cd98f00b204e9800998ecf8427e"
sign_secret_key="1d5dde3821c0acfd4e3c748de9aaea5c"
eshop_secret_key="123456"
# Параметры запроса
eshop_id="465932"
order_id="order_$(date +%s | sha1sum | head -c 8)"
recipient_amount="10.00"
recipient_currency="TST"
email="e.mozgovoy+1@intellectmoney.ru"
service_name=""
user_name=""
success_url=""
fail_url=""
back_url=""
result_url=""
preference=""
hold_mode=""
expire_date=""
hold_time=""
# Генерируем хеш для заголовка Sign
sign_hash_string="${eshop_id}::${order_id}::${service_name}::${recipient_amount}::${recipient_currency}::${user_name}::${email}::${success_url}::${fail_url}::${back_url}::${result_url}::${expire_date}::${hold_mode}::${preference}::${sign_secret_key}"
sign_hash=$(echo -n "$sign_hash_string" | sha256sum | awk '{print $1}')
# Генерируем хеш для параметра hash
hash_string="${eshop_id}::${order_id}::${service_name}::${recipient_amount}::${recipient_currency}::${user_name}::${email}::${success_url}::${fail_url}::${back_url}::${result_url}::${expire_date}::${hold_mode}::${preference}::${eshop_secret_key}"
hash=$(echo -n "$hash_string" | md5sum | awk '{print $1}')
response=$(curl -X POST \
-H "Authorization: Bearer ${bearer_token}" \
-H "Sign: ${sign_hash}" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "eshopId=${eshop_id}" \
--data-urlencode "orderId=${order_id}" \
--data-urlencode "recipientAmount=${recipient_amount}" \
--data-urlencode "recipientCurrency=${recipient_currency}" \
--data-urlencode "email=${email}" \
--data-urlencode "hash=${hash}" \
--data-urlencode "serviceName=${service_name}" \
--data-urlencode "userName=${user_name}" \
--data-urlencode "successUrl=${success_url}" \
--data-urlencode "failUrl=${fail_url}" \
--data-urlencode "backUrl=${back_url}" \
--data-urlencode "resultUrl=${result_url}" \
--data-urlencode "preference=${preference}" \
--data-urlencode "holdMode=${hold_mode}" \
--data-urlencode "expireDate=${expire_date}" \
--data-urlencode "holdTime=${hold_time}" \
https://api.intellectmoney.ru/merchant/createInvoice)
echo "Response: $response" |
|
|
|
|
|
...
Section |
---|
Column |
---|
| ЗапросИмя параметра | Описание |
---|
eshopId Обязательный | ID магазина, в котором был выставлен счёт | invoiceId Обязательный | Номер счёта | hash Обязательный | Контрольная подпись запроса Expand |
---|
title | Формирование подписи запроса |
---|
| Multiexcerpt include |
---|
MultiExcerptName | Параметр hash |
---|
addpanel | true |
---|
PageWithExcerpt | @self |
---|
|
|
|
|
Column |
---|
Tip |
---|
icon | false |
---|
title | Пример запроса |
---|
|
Localtab Group |
---|
Localtab |
---|
active | true |
---|
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"
} |
|
Localtab |
---|
title | Bash/CurlPHP (библиотека IM) |
---|
|
Code Block |
---|
| #!/bin/bash
# Ключи
bearer_token="d41d8cd98f00b204e9800998ecf8427e"
sign_secret_key="1d5dde3821c0acfd4e3c748de9aaea5c"
eshop_secret_key="123456"
# Параметры запроса
eshop_id="465932"
invoice_id="3168498287"
# Генерируем хеш для заголовка Sign
sign_hash_string="${eshop_id}::${invoice_id}::${sign_secret_key}"
sign_hash=$(echo -n "$sign_hash_string" | sha256sum | awk '{print $1}')
# Генерируем хеш для параметра hash
hash_string="${eshop_id}::${invoice_id}::${eshop_secret_key}"
hash=$(echo -n "$hash_string" | md5sum | awk '{print $1}')
response=$(curl -X POST \
-H "Authorization: Bearer ${bearer_token}" \
-H "Sign: ${sign_hash}" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "eshopId=${eshop_id}" \
--data-urlencode "invoiceId=${invoice_id}" \
--data-urlencode "hash=${hash}" \
https://api.intellectmoney.ru/merchant/getbankcardpaymentstate)
echo "Response: $response" |
|
|
|
|
|
Section |
---|
| php |
---|
title | Пример PHP с библиотекой IM |
---|
| // Используется библиотека <тут ссылка на библиотеку> <?php
require_once __DIR__ . '/../vendor/autoload.php';
use IntellectMoney\SDK\MerchantApiClient;
use IntellectMoney\SDK\Structs\Common\AuthData;
use IntellectMoney\SDK\Structs\Request\CheckInvoiceDataModel;
$dataModel = new CheckInvoiceDataModel([
"eshopId" => "465932",
"invoiceId" => "3168498287"
]);
$authData = new AuthData("your_eshop_secret_key");
$result = MerchantApiClient::getBankCardPaymentState($dataModel, $authData);
echo "<pre>";
var_dump($result); |
|
Localtab |
---|
|
Code Block |
---|
| #!/bin/bash
# Ключи
bearer_token="d41d8cd98f00b204e9800998ecf8427e"
sign_secret_key="1d5dde3821c0acfd4e3c748de9aaea5c"
eshop_secret_key="123456"
# Параметры запроса
eshop_id="465932"
invoice_id="3168498287"
# Генерируем хеш для заголовка Sign
sign_hash_string="${eshop_id}::${invoice_id}::${sign_secret_key}"
sign_hash=$(echo -n "$sign_hash_string" | sha256sum | awk '{print $1}')
# Генерируем хеш для параметра hash
hash_string="${eshop_id}::${invoice_id}::${eshop_secret_key}"
hash=$(echo -n "$hash_string" | md5sum | awk '{print $1}')
response=$(curl -X POST \
-H "Authorization: Bearer ${bearer_token}" \
-H "Sign: ${sign_hash}" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "eshopId=${eshop_id}" \
--data-urlencode "invoiceId=${invoice_id}" \
--data-urlencode "hash=${hash}" \
https://api.intellectmoney.ru/merchant/getbankcardpaymentstate)
echo "Response: $response" |
|
|
|
|
|
Section |
---|
Column |
---|
| ОтветOperationState Code - Статус предвалидации запроса
Multiexcerpt include |
---|
MultiExcerptName | Возможные значения OperationState.Code |
---|
PageWithExcerpt | @self |
---|
|
Desc - Описание статуса предвалидации запроса
EshopId - ID магазина, в котором выставляется счётResult
|
Column |
---|
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 | @self |
---|
|
Code Block |
---|
language | text |
---|
title | Шаблон формирования заголовка Sign |
---|
| eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::signSecretKey |
| Column |
---|
| ОтветOperationState Code - Статус предвалидации запроса
Multiexcerpt include |
---|
MultiExcerptName | Возможные значения OperationState.Code |
---|
PageWithExcerpt | @self |
---|
|
Desc - Описание статуса предвалидации запроса
EshopId - ID магазина, в котором выставляется счётResult State Code - Результат выполнения запроса
Multiexcerpt include |
---|
MultiExcerptName | Возможные значения Result.State.Code |
---|
PageWithExcerpt | @self |
---|
|
Desc - Описание результата выполнения запроса
PaymentStep - Текущее состояние платежа
Expand |
---|
| Created | Создан | InProcess | В обработке | SendTo3DS | Ожидается прохождение 3DS | ActivationPayment | Ожидается завершение активационного платежа | Error | Оплата завершилась ошибкой | Ok | Оплачен | Column |
---|
Tip |
---|
icon | false |
---|
title | Пример ответа |
---|
| Для получения ответа в формате JSON в запросе должен быть заголовок Accept: application/json |
Code Block |
---|
| Тело | {
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"EshopId": 465932,
"Result": {
"PaymentStep": "InProcess",
"State": {
"Code": 0,
"Desc": "Успешно обработан"
}
}
} |
|
|
Шаблон формирования параметра 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 | @self |
---|
|
|
|
|
Column |
---|
Tip |
---|
icon | false |
---|
title | Пример запроса |
---|
|
Localtab Group |
---|
Localtab |
---|
active | true |
---|
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"
} |
|
Localtab |
---|
|
Code Block |
---|
language | php |
---|
title | Пример PHP с библиотекой IM |
---|
| // Используется библиотека <тут ссылка на библиотеку>
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use IntellectMoney\SDK\MerchantApiClient;
use IntellectMoney\SDK\Structs\Common\AuthData;
use IntellectMoney\SDK\Structs\Request\PayInvoiceBankCardDataModel;
$dataModel = new PayInvoiceBankCardDataModel([
"eshopId" => |
|
|
|
|
|
Section |
---|
Anchor |
---|
BankCardPaymentApiMethod | BankCardPaymentApiMethod | Column |
---|
|
BankCardPayment - ОПЛАТА БАНКОВСКОЙ КАРТОЙ
POST https://api.intellectmoney.ru/merchant/bankcardpayment
Multiexcerpt include |
---|
MultiExcerptName | Заголовки Merchant 2.0 API |
---|
PageWithExcerpt | @self |
---|
|
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. Если у вас её нет, то оплату можно реализовать перенаправлением покупателя на нашу платежную страницу, либо внедрением нашего платежного виджета на сайт.
Column |
---|
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 | @self |
---|
|
|
Column |
---|
Tip |
---|
icon | false |
---|
title | Пример запроса |
---|
| Localtab Group |
---|
Localtab |
---|
active | true |
---|
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",
]);
$authData = new "hash": "46cc4a126da424cd1495eeccd791cb71"
}AuthData("your_eshop_secret_key");
$result = MerchantApiClient::bankCardPayment($dataModel, $authData);
echo "<pre>";
var_dump($result); |
|
Localtab |
---|
|
Code Block |
---|
| #!/bin/bash
# Ключи
bearer_token="d41d8cd98f00b204e9800998ecf8427e"
sign_secret_key="1d5dde3821c0acfd4e3c748de9aaea5c"
eshop_secret_key="123456"
# Параметры запроса
eshop_id="465932"
invoice_id="3227169792"
ip_address="1.1.1.1"
return_url="https://example.com"
card_holder="NAME SURNAME"
pan="4111111111111111"
cvv="123"
expired_year="29"
expired_month="02"
# Генерируем хеш для заголовка Sign
sign_hash_string="${eshop_id}::${invoice_id}::${pan}::${card_holder}::${expired_month}::${expired_year}::${cvv}::${return_url}::${ip_address}::${sign_secret_key}"
sign_hash=$(echo -n "$sign_hash_string" | sha256sum | awk '{print $1}')
# Генерируем хеш для параметра hash
hash_string="${eshop_id}::${invoice_id}::${pan}::${card_holder}::${expired_month}::${expired_year}::${cvv}::${return_url}::${ip_address}::${eshop_secret_key}"
hash=$(echo -n "$hash_string" | md5sum | awk '{print $1}')
response=$(curl -X POST \
-H "Authorization: Bearer ${bearer_token}" \
-H "Sign: ${sign_hash}" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "eshopId=${eshop_id}" \
--data-urlencode "invoiceId=${invoice_id}" \
--data-urlencode "ipAddress=${ip_address}" \
--data-urlencode "returnUrl=${return_url}" \
--data-urlencode "cardHolder=${card_holder}" \
--data-urlencode "pan=${pan}" \
--data-urlencode "cvv=${cvv}" \
--data-urlencode "expiredYear=${expired_year}" \
--data-urlencode "expiredMonth=${expired_month}" \
--data-urlencode "hash=${hash}" \
https://api.intellectmoney.ru/merchant/bankcardpayment)
echo "Response: $response" |
|
|
|
|
|
...