You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

ВЫСТАВЛЕНИЕ СЧЁТА

Запрос выставления счёта

Для выставления счета необходимо отправить GET- или POST-запрос на следующий адрес URL

https://api.intellectmoney.ru/merchant/createinvoice

В запросе необходимо передать следующие параметры:

 

НазваниеИмя параметраОбязательныйОписание

ID магазина

eshopId

Да

Номер сайта интернет-магазина, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице   https://www.intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID"

Внутренний номер покупки интернет-магазина

orderId

Да

В этом поле интернет-магазин задает номер покупки в соответствии со своей системой учета. Уникальный номер для каждого платежа.

Максимальная длина - 50 символов.

Назначение платежа

serviceName

Нет

Описание товара или услуги. Формируется интернет-магазином.

Максимальная длина - 1024 символов.

Сумма

платежа

recipientAmount

Да

Сумма платежа, которую Интернет-магазин желает получить от пользователя (покупателя). Сумма должна быть больше нуля, дробная часть отделяется точкой, два знака после точки.

Максимальная длина - 13 цифр вместе с десятичными знаками.

Валюта

платежа

recipientCurrency

Да

Валюта платежа. Может принимать значения: RUB и RUR для  платежей в рублях и TST для тестовых платежей

Имя Пользователя

userName

Нет

Полное имя пользователя (покупателя). Вводится самим пользователем (покупателем).

Максимальная длина – 255 символов.

E-mail пользователя

email

Да

Email пользователя (покупателя).

Максимальная длина – 100 символов.

Адрес удачного платежа

successUrl

Нет

Адрес, на который будет перенаправлен пользователь (покупатель) в случае успешной оплаты

Максимальная длина - 512 символов.

Адрес не удачного платежаfailUrl

Нет

Адрес, на который будет перенаправлен пользователь (покупатель) в случае не успешной оплаты

Максимальная длина - 512 символов.

Адрес окончания платежаbackUrl

Нет

Адрес, на который будет перенаправлен пользователь (покупатель) при выборе не моментального способа оплаты

Максимальная длина - 512 символов.

АдресresultUrl

Нет

Адрес, на который система IntellectMoney посылает HTTP/S POST запросы об изменении состояния СКО

Максимальная длина - 512 символов.

Дата и время истечения срока блокировки

expireDate

Нет

Дата и время, через которое заблокированные средства зачислятся на счет магазина, либо будут возвращены пользователю (формат “yyyy-MM-dd HH:mm:ss”). Используется в случае использования блокировки (холдирования) средств на СКО.

Режим холдирования

holdMode

Нет

Устанавливает режим холдированного счета.
Boolean (1 или 0) 

Способ оплаты

preference

Нет

Способы оплаты, которые будут доступны для выбора при оплате покупки. В случае указания одного параметра пользователь будет перенаправлен на страницу ввода реквизитов. (при задании параметра  bankCard и указании email пользователя,  пользователь перейдет сразу к вводу номера банковской карты, при этом счёт уже будет создан. В случае, если не указан email ,то пользователь будет перенаправлен на страницу ввода email)

Подробное описание доступно по ссылке

Дополнительные параметры интернет-магазина

Определяется интернет-магазином

Нет

Все поля формы, имеющие в названии префикса "userField_N", "userFieldName_N" (где N порядковый номер), обрабатываются системой IntellectMoney автоматически и передаются на сайт интернет-магазина.

Максимальная длина всех дополнительных полей в сумме - 4000 символов

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Алгоритм формирования описан в разделе " Подпись запроса выставления счета ".

В ответ возвращается  код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа  <Response> будет содержать структуру  <CreateInvoiceResult> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа  <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса
Post /merchant/createInvoice/  HTTP/1.1  
Host: api.intellectmoney.ru 
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
orderId=test_order
recipientAmount=10.00
recipientCurrency=RUB
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG
Пример ответа
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
 		<Desc>Успешно обработана</Desc>
   	</OperationState>
 	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
   	<EshopId>700025</EshopId>
   	<Result>
     	<State>
 			<Code>0</Code>
       		<Desc>Успешно обработан</Desc>
     	</State>
     	<InvoiceId>3470488641</InvoiceId>    
   	</Result>
</Response>

Подпись запроса выставления счёта

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Пример формирования строки
eshopId::orderId::serviceName::recipientAmount::recipientCurrency

Далее, к этой строке применяется алгоритм криптографии из пункта    ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

ПЕРЕДАЧА РЕКВИЗИТОВ БАНКОВСКОЙ КАРТЫ

Запрос регистрации реквизитов

Для передачи реквизитов банковской карты и для дальнейшей оплаты счета необходимо отправить GET- или POST-запрос на следующий адрес URL:

https://api.intellectmoney.ru/merchant/payinvoicebankcard

В запросе необходимо передать следующие параметры: 

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер сайта интернет-магазина, на который пользователь (покупатель) должен совершить платеж.

Номер СКО

invoiceId

Да

СКО, в пользу которого производится попытка полаты, полученный операцией “ Запрос выставления счета

Номер карты плательщика

pan

Да

Номер карты плательщика

Дрежатель карты

cardHolder

Нет

Имя и фамилия плательщика карты

Срок действия месяц

expiredMonth

Да

Месяц, до которого действует карта

Срок действия год

expiredYear

Да

Год, до которого действует карта

CVV2/CVC2 код

cvv

Нет

CVV2 (CVC2) как правило написан на обороте карты (последние три цифры на полосе для подписи).

Максимальная длина - 512 символов.

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Алгоритм формирования описан в разделе " Подпись запроса передачи данных карты ".

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PayInvoiceBankCardResult> (синхронная обработка). ( Код операции - 0 )
  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )
  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )
Пример запроса
Post /merchant/createInvoice/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
pan=55555555444444
cardHolder=DEFAULT CARDHOLDER
expiredMonth=10
expiredYear=19
cvv=123
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG
Пример ответа
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
	<EshopId>700025</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Подпись запроса передачи данных карты

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

 

Пример формирования строки
eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv

Далее, к этой строке применяется алгоритм криптографии из пункта   ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

СОСТОЯНИЕ ПЛАТЕЖА

Запрос состояния платежа

Для запроса состояния оплаты счета необходимо отправить GET- или POST-запрос на следующий адрес URL:

https://api.intellectmoney.ru/merchant/GetBankCardPaymentState

В запросе необходимо передать следующие параметры:

 

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер сайта интернет-магазина, на который пользователь (покупатель) должен совершить платеж.

Номер СКО

invoiceId

Да

СКО, в пользу которого производится попытка полаты, полученный операцией “ Запрос выставления счета

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Алгоритм формирования описан в разделе " Подпись запроса состояния платежа ".

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <ActivationPayResult> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Пример запроса
Post /merchant/createInvoice/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
activationAmount=8.14
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG
Пример ответа
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
	<EshopId>700025</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Подпись запроса состояния платежа

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

Пример формирования строки
eshopId::invoiceId

Далее, к этой строке применяется алгоритм криптографии из пункта   ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

АКТИВАЦИОННЫЙ ПЛАТЁЖ

Передача параметров платежа

Для заверщения активационного платежа необходимо отправить GET- или POST-запрос на следующий адрес URL:

https://api.intellectmoney.ru/merchant/activationpay

В запросе необходимо передать следующие параметры:

 

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер сайта интернет-магазина, на который пользователь (покупатель) должен совершить платеж.

Номер СКО

invoiceId

Да

СКО, в пользу которого производится попытка полаты, полученный операцией “ Запрос выставления счета

Сумма активационного платежа

activationAmount

Да

Сумма, которая заблокирована у клиента на карте.

Сумму блокировки можно узнать в банке, либо из СМС, в случае если услуга поключена

CVV2/CVC2 код

cvv

Нет

CVV2 (CVC2) как правило написан на обороте карты (последние три цифры на полосе для подписи).

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Алгоритм формирования описан в разделе " Подпись запроса активационного платежа ".

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <ActivationPayResult> (синхронная обработка). ( Код операции - 0 )

  2. Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

 

Пример запроса
Post /merchant/createInvoice/ HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8

eshopId=450123
invoiceId=356421216
activationAmount=8.14
hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG
Пример ответа
HTTP/1.1 200 OK
Content-Type: text/xml

<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<OperationState>
		<Code>0</Code>
		<Desc>Успешно обработана</Desc>
	</OperationState>
	<OperationId>8f6a8487-98a6-4c03-b8b6-904cffd91749</OperationId>
	<EshopId>700025</EshopId>
	<Result>
		<State>
			<Code>0</Code>
			<Desc>Успешно обработан</Desc>
		</State>
	</Result>
</Response>

Подпись запроса активационного платежа

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

eshopId::invoiceId::activationAmount::cvv

Далее, к этой строке применяется алгоритм криптографии из пункта   ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

АСИНХРОННЫЕ ОПЕРАЦИИ

Для получения результата по операциям, обработка по которым была поставленна в очередь необходимо отправить GET- или POST-запрос на URL по целевым методам, добавив в окончание адреса “State”:

https://api.intellectmoney.ru/merchant/createinvoicestate

https://api.intellectmoney.ru/merchant/payinvoicebankcardstate

https://api.intellectmoney.ru/merchant/checkinvoicestate

https://api.intellectmoney.ru/merchant/activationpaystate


В запросе к любому методу необходимо передать следующие параметры:

 

Название

Имя параметра

Обязательный

Описание

ID магазина

eshopId

Да

Номер сайта интернет-магазина, на который пользователь (покупатель) должен совершить платеж.

Операция

operationId

Да

Идентификатор операции

Подпись для преданных данных

hash

Да

Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя.

Алгоритм формирования описан в разделе " Подпись запроса статуса асинхронной операции ".

В ответ возвращается код операции и возможны 3 варианта:

  1. Запрос обработался. Ответ типа <Response> будет содержать структуру одного из методов. ( Код операции - 0 )

  2. Запрос еще находится в очереди на обработку. Нужно запросить статус позже. ( Код операции - 1 )

  3. Ошибка обработки операции. Операция выполнена не будет. ( Код операции - 2 )

Подпись запроса статуса асинхронной операции

Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:

eshopId::guid

Далее, к этой строке применяется алгоритм криптографии из пункта   ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

ИНТЕРФЕЙС УВЕДОМЛЕНИЙ ПРОВАЙДЕРА

В протоколе предусмотрена стандартная возможность получения провайдером уведомлений о статусе платежа. Если в настройках магазина в личном кабинете IntellectMoney выбран протокол IntellectMoney, то данные передаются в соответствии с п.3.2.2. Форма оповещения о платеже протокола IntellectMoney . Если в настройках магазина в личном кабинете IntellectMoney выбран протокол WebMoney, то данные передаются в соответствии с п.3.3.3. Форма оповещения о платеже протокола WebMoney . Какой протокол указан можно посмотреть на странице https://intellectmoney.ru/ru/enter/options/ps_organization_shop/ в столбце “Протокол“.

ФОРМИРОВАНИЕ КОНТРОЛЬНОЙ ПОДПИСИ

К строке для подписи (сформированной по правилам формирования подписи отдельного метода) в конец добавляется параметр “Секретный ключ ( secretKey )” из настроек магазина ЛК IntellectMoney через разделитель “::“, после чего к итоговой строке применяется хеш-функция MD5, результат работы который считается подписью запроса.

ТИПЫ ДАННЫХ

<Response>

 

Поле

Тип

Описание

OperationState

<OperationState>

Статус выполнения операции

OperationId

GUID

Идентификатор операции

EshopId

int

ID магазина

Result

MethodResult

Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет.

<OperationState>

 

Поле

Тип

Описание

Code

int

Код статуса выполнения операции

Desc

string

Описание кода статуса выполнения запроса

<CreateInvoiceResult>

 

Поле

Тип

Описание

State

<RequestState>

Статусы выполнения запроса создания СКО

InvoiceId

long

Номер выставленного СКО

<PayInvoiceBankCardResult>

 

<CheckInvoiceResult>

 

Поле

Тип

Описание

State

<RequestState>

Статусы выполнения запроса проверки СКО

PaymentStep

<PaymentStep>

Статусы платежа

Message

text

Текстовое представление последнего статуса операции в банке (RC)

Form3DS

text

Обыно это html, выданный эмитентом для прохождения процедуры прохождения 3ds

<ActivationPayResult>

 

Поле

Тип

Описание

State

<RequestState>

Статусы активационного платежа

ПЕРЕЧИСЛЕНИЯ

Коды операций

 

Код ошибки

Описание

0

Успешно обработан

1

В процессе выполнения (асинхронная обработка)

2

Ошибка

Статусы запроса создания СКО

 

Код ошибки

Описание

0

Успешно обработан

100

Ошибка сервера

101

Ошибка. Не передан обязательный параметр eshopId или передан неверно

102

Ошибка. Не передан обязательный параметр orderId или передан неверно

103

Ошибка. Не передан обязательный параметр recipientAmount или передан неверно.

104

Ошибка. Не передан обязательный параметр recipientCurrency или передан неверно

105

Ошибка. Не передан обязательный параметр email или передан неверно

106

Ошибка. Не передан обязательный параметр hash или передан неверно

201

Ошибка. Параметр serviceName передан неверно

202

Ошибка. Параметр userName передан неверно

203

Ошибка. Параметр successUrl передан неверно

204

Ошибка. Параметр expireDate передан неверно

205

Ошибка. Параметр holdMode передан неверно

206

Ошибка. Параметр preference передан неверно

207

Ошбика. Параметр(ы) userFields передан(ы) неверно

300

Не защищенное соединение. Отправляйте запрос по https

Статусы запроса регистрации реквизитов платежа

 

Код ошибки

Описание

0

Успешно обработан

100

Ошибка сервера

101

Ошибка. Не передан обязательный параметр eshopId или передан неверно

102

Ошибка. Не передан обязательный параметр invoiceId или передан неверно

103

Ошибка. Не передан обязательный параметр pan или передан неверно.

104

Ошибка. Не передан обязательный параметр cardHolder или передан неверно

105

Ошибка. Не передан обязательный параметр expiredYear или передан неверно

106

Ошибка. Не передан обязательный параметр expiredMonth или передан неверно

107

Ошибка. Не передан обязательный параметр cvv или передан неверно

108

Ошибка. Не передан обязательный параметр hash или передан неверно

200

Ошибка. Карта плательщика заблокирована.

201

Ошибка. Счет в неверном статусе. Оплата не возможна.

202

Ошибка. Есть не завершенные платежи. Дождитесь обработки.

203

Ошибка. Платеж запрещен.

300

Не защищенное соединение. Отправляйте запрос по https

Статусы запроса проверки СКО

 

Код ошибки

Описание

0

Успешно обработан

100

Ошибка сервера

101

Ошибка. Не передан обязательный параметр eshopId или передан неверно

102

Ошибка. Не передан обязательный параметр invoiceId или передан неверно

103

Ошибка. Не передан обязательный параметр hash или передан неверно

300

Не защищенное соединение. Отправляйте запрос по https

Статусы платежа

 

Код ошибки

Описание

0

Успешно завершен (Счет оплачен)

1

Создан

2

В обработке

3

Отправлен на 3DS

4

Отправлен на активационный платеж

10

Ошибка платежа

Статусы запроса активационного платежа

 

Код ошибки

Описание

0

Успешно обработан

100

Ошибка сервера

101

Ошибка. Не передан обязательный параметр eshopId или передан неверно

102

Ошибка. Не передан обязательный параметр invoiceId или передан неверно

103

Ошибка. Не передан обязательный параметр activationAmount или передан неверно.

104

Ошибка. Не передан обязательный параметр cvv или передан неверно.

105

Ошибка. Не передан обязательный параметр hash или передан неверно

300

Не защищенное соединение. Отправляйте запрос по https

  • No labels