Создание счёта
Описание
Используется для выставления СКО, который применяется в процессе платежа по API и для выставления платежной ссылке (https://merchant.intellectmoney.ru/?InvoiceId=3xxxxxxxxx).
Заголовки запроса
Параметр | Свойства | Описание |
---|---|---|
Accept |
STRING OPTIONAL application/json | Заголовок, указывающий формат данных, которые клиент хочет получить от сервера. |
Content-Type |
STRING OPTIONAL application/json application/xml | Заголовок, указывающий формат данных в теле запроса. |
Authorization |
STRING REQUIRED Bearer {token} | Заголовок, используемый для аутентификации клиента с помощью Bearer токена. Подробнее об использование Bearer токена. |
Sign |
STRING REQUIRED | Заголовок с подписью для аутентификации запроса. Сигнатура подписи: EshopId::OrderId::ServiceName::RecipientAmount::RecipientCurrency::UserName::Email::SuccessUrl::::BackUrl::ResultUrl::ExpireDate::HoldMode::Preference::SignSecretKey |
Тело запроса
Параметр | Свойства | Описание |
---|---|---|
EshopId |
INT REQUIRED max 6 | Номер магазина. Можно найти в личном кабинете, в разделе магазины. |
OrderId |
STRING REQUIRED max 50 | Номер покупки. Внутренний номер покупки из вашей системы (интернет-магазина). По умолчанию в расширенных настройках магазина на вкладке "Подключение магазина" включена опция "Принимать только уникальный номер покупки", что позволяет легко идентифицировать СКО. |
ServiceName |
STRING OPTIONAL max 1024 | Назначение платежа. Служит для описания товара или услуги. |
RecipientAmount |
DECIMAL REQUIRED max 13 | Сумма платежа. Минимальное значение 1.00. Формат: десятичное число с двумя знаками после точки, не использовать запятые и пробелы. |
RecipientCurrency |
STRING REQUIRED const | Валюта платежа. Допустимые значения:
|
UserName |
STRING OPTIONAL max 255 | Имя покупателя. |
Email |
STRING REQUIRED max 100 | Электронная почта покупателя. |
SuccessUrl |
STRING OPTIONAL max 512 | Адрес успешного платежа. URL адрес, на который происходит перенаправление плательщика с платежной страницы после успешной оплаты. |
BackUrl |
STRING OPTIONAL max 512 | Адрес возврата в магазин. URL адрес, на платежной странице "Вернуться в магазин". |
ResultUrl |
STRING OPTIONAL max 512 | Адрес вебхука. URL адрес, на который происходит отправка вебхука с параметром PaymentStatus , где значение определяется событием по СКО:
|
ExpireDate |
STRING CONDITION yyyy-MM-dd HH:mm:ss |
Срок действия СКО. Дата и время, до наступления которых счет доступен для оплаты. Если платеж не проведен в этот период, СКО автоматически отменяется, и дальнейшие попытки оплаты будут отклонены. Условия:
|
HoldMode |
BOOLEAN OPTIONAL | Режим холдирования. Временная блокировка денежных средств на банковской карте после оплаты. Сумма замораживается до подтверждения платежа или автоматически возвращается при отмене. Допустимые значения:
|
HoldTime |
INT CONDITION 1-119 | Время холдирования. Время, через которое захолдированные денежные средства будут автоматически зачислены на счёт магазина или возвращены покупателю, измеряется в часах. Условия:
|
MerchantReceipt |
OBJECT CONDITION | Чек для онлайн-кассы. Подробнее о правилах формирования чека. Условия:
|
Preference |
STRING OPTIONAL const | Способ оплаты. Определяет варианты оплаты, которые доступны для СКО. Допустимые значения:
Возможно передача нескольких значений через запятую: preference = BankCard,SberPay,MirPay |
SplitInvoiceData |
OBJECT OPTIONAL | Данные поставщиков сплитованного СКО. |
RecurringType |
STRING CONDITION const | Определяет, участвует ли СКО в "Рекуррентных платежах". Допустимые значения:
|
PurchaseHash |
STRING CONDITION | Подпись данных запроса. Используется для HTML-форм и выполняет те же функции, что и параметр Hash .Условия:
Сигнатура подписи: EshopId::OrderId::ServiceName::RecipientAmount::RecipientCurrency::SecretKey |
Hash |
STRING REQUIRED | Подпись данных запроса. Выполняет две ключевые функции:
Сигнатура подписи: EshopId::OrderId::ServiceName::RecipientAmount::RecipientCurrency::UserName::Email::SuccessUrl::::BackUrl::ResultUrl::ExpireDate::HoldMode::Preference::SecretKey |
Тело ответа
Поле | Тип | Описание |
---|---|---|
OperationState |
OperationState | Статус выполнения операции. |
OperationId |
GUID | Идентификатор операции. |
EshopId |
INT | Номер магазина. |
Result |
CreateInvoiceData | Результат выполнения запроса. |
Примеры кода
C#
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.intellectmoney.ru/merchant/createInvoice");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Content-Type", "application/json");
request.Headers.Add("Authorization", "Bearer 9d97820c61424eb6ac0db414ccb7ac60");
request.Headers.Add("Sign", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("EshopId", "450000"));
collection.Add(new("OrderId", "Покупка №50"));
collection.Add(new("ServiceName", "Оплата заказа"));
collection.Add(new("RecipientAmount", "100"));
collection.Add(new("RecipientCurrency", "RUB"));
collection.Add(new("UserName", "Иванов Иван Иванович"));
collection.Add(new("Email", "shop@mail.ru"));
collection.Add(new("SuccessUrl", "https://shop.ru"));
collection.Add(new("BackUrl", "https://shop.ru"));
collection.Add(new("ResultUrl", "https://fireskins.org/api/payment/callback/intellectmoney"));
collection.Add(new("Hash", "d41d8cd98f00b204e9800998ecf8427e"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.intellectmoney.ru/merchant/createInvoice',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'EshopId=450000&OrderId=Покупка №50&ServiceName=Оплата заказа&RecipientAmount=100&RecipientCurrency=RUB&UserName=Иванов Иван Иванович&Email=shop@mail.ru&SuccessUrl=https://shop.ru&BackUrl=https://shop.ru&ResultUrl=https://fireskins.org/api/payment/callback/intellectmoney&Hash=d41d8cd98f00b204e9800998ecf8427e',
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer 9d97820c61424eb6ac0db414ccb7ac60',
'Sign: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответов
JSON
{
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"EshopId": 459299,
"Result": {
"State": {
"Code": 0,
"Desc": "Успешно обработан"
},
"InvoiceId": 3188393269,
"PaymentWays": [
{
"Id": 2,
"Amount": {
"Amount": 100.0,
"Currency": "RUB"
},
"InputType": "Acquiring",
"Preference": "BankCard",
"PreferenceTypes": [
"All",
"Popular",
"Online",
"NonComission",
"Flash"
],
"ServiceTimeOfEnrollmentType": "Flash",
"Commission": 0.0,
"IsVisible": true,
"IsActive": true,
"Position": 0
},
{
"Id": 134,
"Amount": {
"Amount": 100.0,
"Currency": "RUB"
},
"InputType": "Sbp",
"Preference": "Sbp",
"PreferenceTypes": [
"All",
"Popular",
"Online",
"NonComission",
"Flash"
],
"ServiceTimeOfEnrollmentType": "Flash",
"Commission": 0.0,
"IsVisible": true,
"IsActive": true,
"Position": 3
},
{
"Id": 129,
"Amount": {
"Amount": 100.0,
"Currency": "RUB"
},
"InputType": "BNPL",
"Preference": "BNPL",
"PreferenceTypes": [
"All",
"Popular",
"Online"
],
"ServiceTimeOfEnrollmentType": "Flash",
"Commission": 0.0,
"IsVisible": true,
"IsActive": false,
"Position": 118
},
{
"Id": 136,
"Amount": {
"Amount": 100.0,
"Currency": "RUB"
},
"InputType": "MirPay",
"Preference": "MirPay",
"PreferenceTypes": [
"All",
"Popular",
"Online",
"NonComission",
"Flash"
],
"ServiceTimeOfEnrollmentType": "Flash",
"Commission": 0.0,
"IsVisible": true,
"IsActive": true,
"Position": 122
}
]
}
}
JSON
{
"OperationState": {
"Code": 0,
"Desc": "Успешно обработана"
},
"EshopId": 459299,
"Result": {
"State": {
"ErrorSourceParam": "hash",
"Code": 154,
"Desc": "Ошибка. Не передан обязательный параметр hash или передан неверно.<br>********<br/>Принятые параметры<br/>eshopId=459299<br/>email=testcreate@mail.ru<br/>orderId=796894<br/>serviceName=fireskins.org<br/>recipientAmount=100<br/>recipientCurrency=RUB<br/>successUrl=https://fireskins.org/<br/>failUrl=https://fireskins.org/<br/>backUrl=https://fireskins.org/<br/>resultUrl=https://fireskins.org/api/payment/callback/intellectmoney<br/>userFields=<br/>expireDate=<br/>preference=<br/>holdMode=False<br/>userName=531401<br/>holdTime=<br/>hash=1034e57b80d0e38abc3cee632ea4dad61<br/>********<br>"
},
"InvoiceId": 0
}
}