Примерная схема взаимодействия системы IntellectMoney, Интернет-магазина и Покупателя (данная схема не является обязательной и служит только для демонстрации):
После того как Система Интернет-магазина получила ID счета к оплате (invoiceId), можно получить информацию по данному счету к оплате, через метод getPuschaseInfo(). Через этот метод дополнительно можно получить информацию о настройках магазина в системе IntellectMoney- узнать время работы, название и так далее.
Порядок вызова методов для оплаты Банковской картой (Acquiring): bankCardPayment() затем activationPay(), после вызова метода bankCardPayment() можно отслеживать состояние платежа через метод getBankCardPaymentState().
Данное API позволит Вам выставить счёт, контролировать состояние счёта, отправлять пользователя (покупателя) на выбранный способ оплаты или получить необходимые данные для оплаты. Взаимодействие между сервером IntellectMoney и сайтом поставщика (далее поставщика) происходит по HTTP-протоколу.
В ответ приходят два состояния запроса это <OperationState> и <Response>:
Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded". В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".
Для обращения к методам API нужно выполнить POST- запрос (GET - запросы недопустимы) на URL, который состоит из следующих частей: host(https://api.intellectmoney.ru/merchant/)+номер версии API(<api_version>)+название метода к которому идёт обращение(createinvoice). Пример: https://api.intellectmoney.ru/merchant/latest/getpaymentways.
Список всех доступных версий с описанием доступны в разделе "Разница в версиях API".
Работу с представленным API можно разделить на 3 шага:
Для запроса доступных (активных) магазину способов оплаты необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/getpaymentways
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да, если не передан invoiceId | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" Если данный параметр не передан, то обязательно нужно передать параметр invoiceId. Иначе Вы получите Exception. |
Номер СКО | invoiceId | Да, если не передан eshopId | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". Если данный параметр не передан, то обязательно нужно передать параметр eshopId. Иначе Вы получите Exception. |
Сумма платежа | amount | нет | Сумма платежа, которую поставщик желает получить от пользователя (покупателя). Сумма должна быть больше нуля, дробная часть отделяется точкой, два знака после точки. Если передать данный параметр, то в возвращаемой структуре <PaymentWayListData> будут только те способы оплаты, которые можно использовать для данной суммы. Если данный параметр не передан, то в возвращаемой структуре <PaymentWayListData> будут все способы оплаты, которые активированы в настройках магазина. Максимальная длина - 13 цифр вместе с десятичными знаками. |
Способ оплаты | preferences | Нет | Когда передан данный параметр, то система вернет информацию, только по указанным способам оплаты. Подробное описание доступно по ссылке. |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись запроса способов оплаты". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PaymentWayListData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/getPaymentWays/ HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 eshopId=450123 invoiceId=356421216 amount=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>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId> <EshopId>455551</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан</Desc> </State> <PaymentWays> <PaymentWayData> <Id>1</Id> <Amount> <Amount>10.0000</Amount> <Currency>TST</Currency> </Amount> <Preference>Inner</Preference> <InputType>InnerPayment</InputType> <PreferenceTypes> <PreferenceTypeSpecification>All</PreferenceTypeSpecification> <PreferenceTypeSpecification>Online</PreferenceTypeSpecification> <PreferenceTypeSpecification>NonComission</PreferenceTypeSpecification> <PreferenceTypeSpecification>Flash</PreferenceTypeSpecification> </PreferenceTypes> <ServiceTimeOfEnrollmentType>Flash</ServiceTimeOfEnrollmentType> <Commission>0</Commission> </PaymentWayData> </PaymentWays> </Result> </Response> |
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::invoiceId::amount::preferences |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Для выставления счета необходимо отправить POST-запрос на следующий адрес URL
https://api.intellectmoney.ru/merchant/latest/createinvoice
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
Внутренний номер покупки поставщика | orderId | Да | В этом поле нужно передать номер покупки в соответствии со своей системой учета. Данный номер должен быть уникальным, если включена соответствующая опция в настройках магазина в системе IntellectMoney. Можно увидеть на странице настроек магазина https://intellectmoney.ru/ru/enter/ps_organization_shop/ , выбрав “настройки“, далее вкладка “прием платежей“, далее “расширенные настройки“. Если при включенном параметре передать не уникальный номер покупки, то в ответ придет Exception. Максимальная длина - 50 символов. |
Назначение платежа | serviceName | Нет | Описание товара или услуги. Укажите данный параметр что бы понимать за какую услугу или товар Вы получаете денежные средства. Максимальная длина - 1024 символов. |
Сумма платежа | recipientAmount | Да | Сумма платежа, которую поставщик желает получить от пользователя (покупателя). Положительное число, округленное до 2 знаков после десятичной точки, без пробелов. Минимальное значение 10.00. Максимальная длина - 13 цифр вместе с десятичными знаками. |
Валюта платежа | recipientCurrency | Да | Валюта платежа. Может принимать значения: RUB и RUR для платежей в рублях и TST для тестовых платежей. |
Имя Пользователя | userName | Нет | Имя Пользователя (Покупателя), который совершает платеж Максимальная длина – 255 символов. |
E-mail пользователя | Да | Email Пользователя (Покупателя). Максимальная длина – 100 символов. | |
Адрес удачного платежа | successUrl | Нет | Адрес, который будет отображаться в поле SuccessUrl структуры <PurchaseInfoData> На данный URL можно переводить Пользователя (Покупателя) после того как он успешно произвел покупку/ оформил заказ. Максимальная длина - 512 символов. |
Адрес не удачного платежа | failUrl | Нет | Адрес, который используется для внутренних нужд. Максимальная длина - 512 символов. |
Адрес окончания платежа | backUrl | Нет | Адрес, который будет отображаться в поле BackUrl структуры <PurchaseInfoData> На данный URL можно переводить Пользователя (Покупателя), когда он нажимает "вернуться в магазин". Максимальная длина - 512 символов. |
Адрес оповещений | resultUrl | Нет | Адрес, на который система IntellectMoney посылает HTTP/S POST запросы об изменении состояния СКО Максимальная длина - 512 символов. |
Дата и время истечения срока блокировки | expireDate | Нет | Дата и время, по достижению которых, оплатить счёт в системе IntellectMoney станет не возможно. Передавать в формате “yyyy-MM-dd HH:mm:ss”. |
Режим холдирования | holdMode | Нет | Отвечает за включение режима холдирования, и может принимать три состояния:
Также необходимо включить в настройках магазина параметр «Принимать только уникальные ID покупки». |
Срок холдирования денежных средств | holdTime | Нет | Время, через которое захолдированные (замороженные) денежные средства будут зачислены на счёт магазина или возвращены покупателю, измеряется в часах. Целое число от 0 до 119 часов. |
Способ оплаты | preference | Нет | Способы оплаты, которые будут доступны для данного СКО. Если данное поле не передано, то будут доступны все способы, доступные магазину. Подробное описание доступно по ссылке |
Данные по чеку | merchantReceipt | Нет | Данные для формирования чека в онлайн кассе. Подробное описание смотрите в пункте Правила формирования чека для онлайн кассы (merchantReceipt). |
Дополнительные параметры поставщика | UserField_N UserFieldName_N | Нет | Все поля формы, имеющие в названии префикса "UserField_N", "UserFieldName_N" (где N порядковый номер), обрабатываются системой IntellectMoney автоматически и передаются на сайт поставщика. Максимальная длина всех дополнительных полей в сумме - 4000 символов |
Подпись для переданных данных из счёта | purchaseHash | Нет | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя . Не включает в себя hash. Если в настройках магазина включен пункт "Требовать HASH", данный параметр передавать обязательно. Если не передать, то в ответ придет Exception. Проверить- включен пункт "Требовать HASH" или нет- можно в настройках магазина https://intellectmoney.ru/ru/enter/ps_organization_shop/ вкладка "Прием платежей" -> "Расширенные настройки". Алгоритм формирования описан в протоколе IntellectMoney в разделе "Проверка данных формы запроса". |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Включает purchaseHash. Алгоритм формирования описан в разделе "Подпись запроса выставления счёта". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <CreateInvoiceData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 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::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Для передачи реквизитов банковской карты и для дальнейшей оплаты счета необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/bankcardpayment
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". |
Номер СКО | invoiceId | Да | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией “Запрос выставления счёта”. |
Номер карты плательщика | pan | Да | Номер карты плательщика. |
Держатель карты | cardHolder | Нет | Имя и фамилия плательщика. Если у карты нет данного параметра, то данный параметр передавать не надо. |
Срок действия месяц | expiredMonth | Да | Месяц, до которого действует карта. |
Срок действия год | expiredYear | Да | Год, до которого действует карта. Формат 2 последние цифры годы. Пример: 17. |
CVV2/CVC2 код | cvv | Нет | Секретный код CVV2 (CVC2), как правило написан на обороте карты (последние три цифры на полосе для подписи). Данный параметр должен быть обязательно передан если банковская карта снабжена cvv. Если попытаться оплатить такой картой и не указать cvv, то банк-эквайер вернет ошибку. Для карт, которые не имеют CVV (CVC2) данный параметр не надо передавать. Максимальная длина - 512 символов. |
Адрес оповещений | returnUrl | Да | Адрес, на который будет перенаправлен Пользователь (Покупатель) после прохождения 3-DS авторизации. |
IP-адрес плательщика | ipAddress | Да | Реальный ip-адрес, с которого производится оплата банковской картой |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись запроса передачи данных карты". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardPaymentData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/bankCardPayment/ 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::returnUrl::ipAddress |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Для запроса состояния оплаты счета необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/getbankcardpaymentstate
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
Номер СКО | invoiceId | Да | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись запроса состояния банковского платежа". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <BankCardPaymentStateData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/getBankCardPaymentState/ 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 |
Для не 3-DS платежа
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>450123</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан</Desc> </State> </Result> </Response> |
Для 3-DS платежа
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>b28053c1-f383-4be3-b1f7-ba57bcb04bdd</OperationId> <EshopId>450123</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан.</Desc> </State> <PaymentStep>SendTo3DS</PaymentStep> <Form3DS> <body OnLoad="document.forms[0].submit();"><FORM ACTION="https://3DSecure.qiwi.com/acs/pareq/0646380bc4144fcfb06dc1cbf6aacb0e" METHOD="post"><input name="PaReq" type="hidden" value="eJxVUl1v2zAM/CuB3xfJkr8WMCq6xkNTOE67uGi3l8GTidhArKSyXMT59ZXcZG3feEeCRx4JV8d2N3lF3saoUenTj0WP78l3pWAotaI++++++яяяя+tf+DJ7epLbOgv/FcNfk/DbO/VcrvMHT8CYFnAWELb/lAG5QNtJy7pURkApX34scxHEEaMJkDOEFvVyISilIec+CyhPEmobvNOgyhbFMi/SLEtvitU6T38DGUmQ+14ZPYgo4EAuAHq9E7UxhxkhjTK426E07V7hMNU9EJcF8jHTfe+iznY7NpUIH06ndX53kqs/6SLpGxWbbHFoBrNJ50BcBVSlQcGoH9PY5xMaz1g4CyMgIw9l68YQvt3GLvgO4OA0rj9nPjNgDdf2Hpc9LgjweLBj2wprxv8YKuyk4EESRWHAv4dW2BFAPha5uXVWS2Pd4wENGOWcVUN9et0wRjNaPg+oIr5yBxiLnFBjnfMTn45KDgBxbcj5tuT8Djb68iZvuarE1A=="><input name="TermUrl" type="hidden" value="https://merchant.intellectmoney.ru/?Action=3ds&GatewayId=88&MessageId=22666446&BackRef=https%3a%2f%2ftest.ru%2findex.php"><input name="MD" type="hidden" value="231143700-07677B109B1A27D4"></FORM></body> </Form3DS> </Result> </Response> |
Внимание! Код из узла <Form3DS> надо размещать на странице где нет других форм, так как возможен вызов не той формы.
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::invoiceId |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Для завершения активационного платежа необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/activationpay
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
Номер СКО | invoiceId | Да | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". |
Сумма активационного платежа | activationAmount | Да | Сумма, которая заблокирована у клиента на карте. Сумму блокировки можно узнать в банке, либо из СМС, в случае если услуга подключена. |
CVV2/CVC2 код | cvv | Да | Секретный код CVV2 (CVC2), как правило написан на обороте карты (последние три цифры на полосе для подписи). Данный параметр должен быть обязательно передан если банковская карта снабжена cvv. Если попытаться оплатить такой картой и не указать cvv, то банк-эквайер вернет ошибку. Для карт, которые не имеют CVV (CVC2) данный параметр не надо передавать. Максимальная длина - 512 символов. |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись запроса активационного платежа". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <ActivationPayData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/activationPay/ 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 |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Для оплаты в системе IntellectMoney необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/innerpayment
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
Номер СКО | invoiceId | Да | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". |
Сумма платежа | userToken | Да | Цифровая подпись пользователя (покупателя). Алгоритм получения userToken описан в разделе Как получить UserToken. |
Пин-код | pinCode | Да | Код для подтверждения платёжных операций. Указывается пользователем (покупателем) при регистрации на сайте IntellectMoney. Не является обязательным для тестовой валюты (TST). Состоит из 4 цифр. |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись для оплаты со счёта IntellectMoney". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <MerchantServiceData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/innerPayment/ HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 eshopId=450123 invoiceId=356421216 userToken=BD2rQq%2Fh6P6tUEeSWLb5ur%2BIX3TIKckWjTKzmNwDoUI%3D pinCode=4562 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>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId> <EshopId>455551</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан</Desc> </State> </Result> </Response> |
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::invoiceId::userToken::pinCode |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Данный метод переводит денежные средства с кошелька IntellectMoney Пользователя (Покупателя).
Для получения бланка оплаты в отделениях почты России необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/getpostpayblank
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". |
Номер СКО | invoiceId | Да | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". |
Сумма платежа | amount | Да | Сумма платежа, которую поставщик желает получить от пользователя (покупателя). Сумма должна быть больше нуля, дробная часть отделяется точкой, два знака после точки. Максимальная длина - 13 цифр вместе с десятичными знаками. |
Адрес | address | Нет | Адрес прописки Пользователя (Покупателя). Указывается полностью без сокращений |
Почтовый индекс | postCode | Нет | Почтовый индекс Пользователя (Покупателя). |
Имя покупателя | fio | Нет | Фамилия Имя Отчество Пользователя (Покупателя). Указывается полностью без сокращений. |
ИНН | inn | Нет | Индивидуальный номер налогоплательщика Пользователя (Покупателя). |
Гражданство | residentOfRussia | Да | Здесь нужно указать, является ли Пользователь (Покупатель) гражданином РФ или нет. Передать 0, если Пользователь (Покупатель) не является гражданином РФ. |
Серия | series | Да | Серия паспорта Пользователя (Покупателя). |
Номер | number | Да | Номер паспорта Пользователя (Покупателя). |
День выдачи паспорта | day | Нет | Дата выдачи паспорта Пользователя (Покупателя). |
Месяц выдачи пасспорта | month | Нет | |
Год выдачи пасспорта | year | Нет | |
Кем выдан | kem | Нет | Управление выдавшее паспорт. |
Для Пользователя (Покупателя) не резидент РФ, передаются данные о сроке пребывания. | |||
День | beginDay | Нет | С какого числа начинает действовать разрешение на работу Пользователя (Покупателя). |
Месяц | beginMonth | Нет | |
Год | beginYear | Нет | |
День | endDay | Нет | Срок окончания разрешения работу Пользователя (Покупателя). |
Месяц | endMonth | Нет | |
Год | endYear | Нет | |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись для оплаты почтовым переводом". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PostPayBlankData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/getPostPayBlank/ 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>3cf78bc5-63f4-4fe3-86a0-8ce9d60e8228</OperationId> <EshopId>455551</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан</Desc> </State> <PostPayBlank> iVBORw0KGgoAAAANSUhEUgAABHQAAASkCAI... </PostPayBlank> </Result> </Response> |
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::invoiceId::amount::address::postCode::fio::inn::residentOfRussia::series::number::day::month::year::kem::beginDay::beginMonth::beginYear::endDay::endMonth::endYear |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Данный метод возвращает изображение готового бланк для оплаты в отделениях почты России. Изображение возвращается в виде строки (data:image/png;base64). Если обязательные поля не заполнить, то и в бланке они не будут заполнены и в момент перевода могут возникнуть проблемы, например: Пользователь (Покупатель) не является резидентом, тогда при не заполненных полях о сроке пребывания кассир потребует заполнить данные поля.
Вы можете отслеживать состояние счета методом getPurchaseInfo() (надо обязательно передать номер платежа), когда State из <InvoiceData> будет в статусе "Paid=2" (Полностью оплачен) значит платеж завершен.
Для оплаты через Альфа-Клик необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/alfaclickpayment
Для оплаты через Сбербанк Онлайн необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/sberbankpayment
Для оплаты через Яндекс.Деньги необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/yandexpayment
Для оплаты через Yandex.Money необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/wmrpayment
Для оплаты через QIWI Кошелёк необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/qiwipursepayment
В запросе необходимо передать следующие параметры из таблицы
Название | Имя параметра | Обязательный | Методы, в которых данный параметр является обязательным | Описание |
---|---|---|---|---|
ID магазина | eshopId | Да | Во всех | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
Номер СКО | invoiceId | Да | Во всех | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". |
Адрес удачного платежа | successUrl | Не использовать, если не является обязательным | alfaclickpayment, wmrpayment, qiwipursepayment | Адрес, на который будет перенаправлен Пользователь (Покупатель) в случае успешной оплаты. |
Адрес не удачного платежа | failUrl | Не использовать, если не является обязательным | wmrpayment, qiwipursepayment | Адрес, на который будет перенаправлен Пользователь (Покупатель) в случае не успешной оплаты. |
Дополнительные параметры | additionalParams | Не использовать, если не является обязательным | qiwipursepayment | Используется для передачи дополнительной информации в QIWI. Строка вида "to=+39106231449|from=+569323442", где: "|" - разделитель между параметрами, а "=" - разделитель в паре ключ-значение. Для получения ссылки на оплату достаточно передать номер телефона в формате: "+7XXXXXXXXXX". Пример для QIWI: $additionalParams = "to=+79026548754"; |
Подпись для преданных данных | hash | Да | Во всех | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись для оплаты через обменники". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <ExchangerData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/QIWIPursePayment/ HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 eshopId=450123 invoiceId=356421216 successUrl=http://Ваш_сайт/successUrl.php failUrl=http://Ваш_сайт/failUrl.php additionalParams=to=+791085488 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>1e548abc-c953-4a9e-9e6b-aff90564efeb</OperationId> <EshopId>455551</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан.</Desc> </State> <ExchangerData> <ExchangeCurrency>QiwiPurse</ExchangeCurrency> <ExchangeAmount xsi:nil="true"/> <RedirectToUrl> https://qiwi.com/order/external/main.actionshop=298124&transaction=1648175&iframe=true&successUrl=https%3a%2f%2fmerchant.intellectmoney.ru%2f%3fAction%3dqiwi%26state%3dsuccess%26invoiceId%3d3486654395%26BackRef%3dhttp%253a%252f%252fsuccess.php&failUrl=https%3a%2f%2fmerchant.intellectmoney.ru%2f%3fAction%3dqiwi%26state%3dfail%26invoiceId%3d3486654395%26BackRef%3dhttp%253a%252f%252ffail.php&target=iframe </RedirectToUrl> <ExchangeState>OK</ExchangeState> <IsNewWindow>false</IsNewWindow> <FormFields/> <ShowFields/> <Method>IFRAME</Method> </ExchangerData> </Result> </Response> |
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::invoiceId::successUrl::failUrl::additionalParams |
Если в методе обменника параметр не обязателен, его не обязательно передавать, но обязательно вставить как пустую строку пример для оплаты через WebMoney:Если в методе обменника параметр не обязателен, его не обязательно передавать, но обязательно вставить как пустую строку пример для оплаты через WebMoney:
eshopId::invoiceId::successUrl::::additionalParams |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Реализация процесса оплаты через любой обменник происходит по одной и той же схеме отличается только метод QIWIPursePayment() - для оплаты этим способом нужно запросить номер телефона, к которому привязан кошелёк QIWI, в остальных методах этого делать не надо. Вот примерная реализация для оплаты через QIWI- кошелёк:
Для получения информации о платеже (платежах) необходимо отправить POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/merchant/latest/getpurchaseinfo
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да, если не передан invoiceId | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". |
Номер СКО | invoiceId | Да, если не передан eshopId | Счёт К Оплате - уникальный номер в системе IntellectMoney, с помощью которого идентифицируется любой платеж. Для получения воспользуйтесь операцией "Запрос выставления счёта". |
Способ оплаты | inputType | Нет | Способ, которым оплачивался СКО. Если данный параметр передан вместе с invoiceId, в ответе на запрос будет указана сумма к оплате с учётом комиссии, если таковая имеется. |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись для получения информации о платеже/магазине". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <PurchaseInfoData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /merchant/getPurchaseInfo/ HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 eshopId=455551 invoiceId=3486654395 inputType= hash=58c16afcaac298dda6d84b7a3bd476da |
<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>974a1029-07f5-4797-ae12-f104101fa6b6</OperationId> <EshopId>455551</EshopId> <Result> <State> <Code>0</Code> <Desc>Успешно обработан.</Desc> </State> <Invoice> <InvoiceId>3486654395</InvoiceId> <LeftToPayAmount> <Amount>10.0000</Amount> <Currency>RUB</Currency> </LeftToPayAmount> <TotalAmount> <Amount>10.0000</Amount> <Currency>RUB</Currency> </TotalAmount> <OrderId>1498651094</OrderId> <Name>test</Name> <State>Created</State> <CreationDate>2017-06-28T15:06:21.777</CreationDate> <ChangeDate>2017-06-28T15:06:21.777</ChangeDate> <UserEmail>s.zhukov+1@intellectmoney.ru</UserEmail> </Invoice> <Eshop> <EshopId>455551</EshopId> <Name>bookshop</Name> <Url>http://test1.ru/</Url> <TemplateId>1</TemplateId> </Eshop> <SuccessUrl>https://successurl.ru</SuccessUrl> <BackUrl>http://backurl.ru</BackUrl> <FormType xsi:nil="true"/> </Result> </Response> |
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::invoiceId::inputType |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
Запрос к методу API может вернуть в ответ Код операции - 1 . Это означает, что данные по запросу получены и поставлены в очередь на обработку.
Для получения результата по операциям необходимо отправить POST-запрос на URL по целевым методам, добавив в окончание адреса “State”:
https://api.intellectmoney.ru/merchant/latest/createinvoicestate
https://api.intellectmoney.ru/merchant/latest/bankcardpaymentstate
https://api.intellectmoney.ru/merchant/latest/getbankcardpaymentstate
https://api.intellectmoney.ru/merchant/latest/activationpaystate
https://api.intellectmoney.ru/merchant/latest/getpurchaseinfostate
https://api.intellectmoney.ru/merchant/latest/getpaymentwaysstate
Запрос на получение результата надо отправлять до тех пор пока в ответ не будет получен Код операции - 0.
В запросе к любому методу необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
ID магазина | eshopId | Да | Номер магазина в системе IntellectMoney, на который пользователь (покупатель) должен совершить платеж. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID" |
Операция | operationId | Да | Идентификатор операции, по которой Вы хотите получить информацию. Данный идентификатор Вы получите в тексте ответа. |
Подпись для преданных данных | hash | Да | Контрольная подпись запроса, которая используется для проверки целостности полученной от магазина информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Подпись запроса статуса асинхронной операции". |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру одного из методов. (Код операции - 0)
Запрос ещё находится в очереди на обработку. Нужно запросить статус позднее. (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Строка для подписи получается путем конкатенации параметров с разделителем “::“ и формируется из следующих параметров в строгой последовательности:
eshopId::operationId |
Далее, к этой строке применяется алгоритм криптографии из пункта "Формирование контрольной подписи".
В протоколе предусмотрена стандартная возможность получения провайдером уведомлений о статусе платежа. Если в настройках магазина в личном кабинете IntellectMoney выбран протокол IntellectMoney, то данные передаются в соответствии с п.3.2.2. Форма оповещения о платеже протокола IntellectMoney. Если в настройках магазина в личном кабинете IntellectMoney выбран протокол WebMoney, то данные передаются в соответствии с п.3.3.3. Форма оповещения о платеже протокола WebMoney. Какой протокол указан можно посмотреть на странице https://intellectmoney.ru/ru/enter/options/ps_organization_shop/ в столбце “Протокол“.
К строке для подписи (сформированной по правилам формирования подписи отдельного метода) в конец добавляется параметр “Секретный ключ ( secretKey )” из настроек магазина ЛК IntellectMoney через разделитель “::“, после чего к итоговой строке применяется хеш-функция MD5, результат работы который считается подписью запроса.
Для формирования строки с отсутствующим не обязательным параметром разделители под них нужно выставлять обязательно, а пространство между разделителями можно оставить пустым.
Пример полной строки для метода BankCardPayment(), где демонстрируется строка для банковской карты, у которой нет параметра cvv:
eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::::returnUrl::secretKey |
Пример формирования контрольной подписи на языке программирования PHP:
<?php $eshop_id = "450090"; //Номер магазина в системе IntellectMoney $invoice_Id = 3254865478; //Здесь у вас будет храниться номер счёта к оплате $pan = 1111222233334444; //Номер карты Пользователя (Покупателя) $card_holder = Ivanov Ivan; //Имя держателя карты $expired_month = 10; // Месяц, до которого действует карта $expired_year = 19; // Год, до которого действует карта $cvv = 180; // Секретный код, если он есть у карты $cvv = ""; // Секретный код, не передаем - поскольку поле cvv у карты отсутствует $secretKey = "your_secret_key"; // Секретный ключ, который Вы указали в личном кабинете IntellectMoney $hash_string = $eshop_id."::".$invoice_id."::".$pan."::".$card_holder."::".$expired_month."::".$expired_year."::".$cvv."::".$secret_year; //Сформированная строка $result_hash = md5($hash_string); // Это значение нужно передать в поле hash ?> |
Для получения userToken нужно перенаправить пользователя (покупателя) на страницу https://intellectmoney.ru/ru/enter/ с параметрами:
Параметр | Описание |
---|---|
returnUrl | URL куда перенаправить пользователя (покупателя) после авторизации, на данный URL будет передан параметр userToken методом get. |
email пользователя (покупателя) |
После того, как пользователь (покупатель) авторизуется, он будет перенаправлен на страницу указанную в returnUrl с параметром UserToken.
Пример:https://<Ваш_сайт>/returnUrl.php?&userToken=5a8WAwjuOb5g7P5VGdmxSt2ogNCysC7UirnQDmWFNP4%3D
Данные для формирования чека в онлайн кассе. Представляет собой JSON - строку. Для корректного отображения названия товара в чеке, параметр text передавать в кодировке UTF-8.Корректно сформировать JSON-строку из массива данных можно функцией языка программирования PHP json_encode. Проверить правильность составления JSON-строки можно воспользовавшись функцией языка программирования PHP json_decode. Важно: Документы генерируются фискальным накопителем(ФН), данный факт накладывает на кодировку передаваемых строк, обмен сообщениями по http с кассой осуществляется в кодировке UTF-8, но при записи в ФН строки передаются в кодировке CP866, которая поддерживает меньший набор символов чем UTF-8, например: в CP866 отсутствуют символы «» и в ФН они не будут переданы - вместо строки "Сок «Груша»" в документе будет "Сок Груша". Экранирование символов возможно через обратный слэш "\" или функцией addslashes в PHP.
Таблица content
Таблица positions
|
Поле | Тип | Описание |
---|---|---|
OperationState | <OperationState> | Статус выполнения операции |
OperationId | GUID | Идентификатор операции |
EshopId | int | ID магазина |
Result | MethodResult | Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет. |
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
Desc | string | Описание кода статуса выполнения запроса |
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
InvoiceId | long | Номер выставленного Счёта К Оплате. По данному номеру можно отслеживать состояние СКО. |
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
PaymentStep | Статусы банковского платежа | |
Message | string | Текстовое представление последнего статуса операции в банке (RC) |
Form3DS | string | Это html код, для процедуры прохождения 3-DS. Данный код надо будет отобразить Пользователю (Покупателю). Обратите внимание, что в этом html коде есть вызов метода submit: <body OnLoad="document.forms[0].submit();">. |
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов |
Поле | Тип | Описание |
---|---|---|
State | <RequestState> | Статусы выполнения запросов |
PaymentWays | <PaymentWayData> | Содержит всю информацию по способам оплаты |
Поле | Тип | Описание |
---|---|---|
Id | int | Уникальный идентификатор способа оплаты |
Amount | <Money> | Сумма, которую должен заплатить Пользователь (Покупатель) с учётом комиссии. |
InputType | <InputType> | Выводит название данного способа оплаты. Это название надо будет использовать в методе getPuschaseInfo() (поле preference) |
PreferenceTypes | <PreferenceTypeSpecification> | К какой группе относится данный способ оплаты. Данный параметр для внутреннего использования, его можно проигнорировать. |
ServiceTimeOfEnrollmentType | <MerchantServiceTimeOfEnrollmentType> | Сроки зачисления. Отображает сроки зачисления денежных средств. |
Commission | decimal | Сумма комиссии, которую придется оплатить Пользователю (Покупателю) помимо суммы к оплате. Измеряется в процентах, например 1.000 - это один процент от суммы. |
IsVisible | bool | Указывает доступен ли данный способ оплаты в системе IntellectMoney. |
IsActive | bool | Указывает возможность оплаты счёта к оплате данным способом. Если true, то оплата возможна. Если false, то оплатить данным способом не возможно. Вернет true если была передана сумма платежа (amount) из метода getPaymentWays() или сумма платежа больше минимально допустимой суммы оплаты в системе IntellectMoney и меньше максимально допустимой по способу оплаты. |
Поле | Тип | Описание |
---|---|---|
Amount | decimal | Количество денежных средств. |
Currency | <Currency> | В какой валюте исчисляются денежные средства. |
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов |
Поле | Тип | Описание | |
---|---|---|---|
State | Статусы выполнения запросов | ||
PostPayBlank | String | Возвращает строку для вставки в html. Пример обработки данной строки, где {$PostPayBlank} результат запроса:
|
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов. | |
ExchangerData | <ExchangerPaymentData> | Содержит структуру, которая описывает взаимодействие с обменником. |
Поле | Тип | Описание | |
---|---|---|---|
ExchangeCurrency | Название preference, которым происходит оплата. | ||
ExchangeAmount | string | Сумма оплаты. | |
RedirectToUrl | string | Адрес , куда отправлять Пользователя (Покупателя) что бы он произвел оплату. Вы можете ему просто предоставить этот адрес как ссылку, сделать сразу redirect или отобразить содержимое, например curl запросом.
| |
ExchangeState | <ExchangerGatewayState> | Состояние способа оплаты. OK - способ работает, ERROR - способ не работает. |
Поле | Тип | Описание |
---|---|---|
State | Статусы выполнения запросов | |
Invoice | <InvoiceData> | Информация о СКО |
Eshop | <EshopData> | Информация о магазине |
SuccessUrl | string | Строка с url, куда надо перенаправить Пользователя (Покупателя) после успешной оплаты |
BackUrl | string | Строка с url, куда надо перенаправить Пользователя (Покупателя) после успешной оплаты |
Поле | Тип | Описание |
---|---|---|
InvoiceId | long | Номер СКО, по которому была найдена информация. |
LeftToPayAmount | <Money> | В узле <LeftToPayAmount> сумма СКО которую осталось оплатить, если счёт уже оплачен - покажет 0. |
TotalAmount | <Money> | В узле <TotalAmount> сумма с учётом комиссии для указанного способа оплаты. |
OrderId | string | Внутренний номер покупки поставщика. |
Name | string | Описание товара или услуги. Соответствует serviceName. |
State | <InvoiceState> | Статус состояния СКО. |
CreateionDate | DateTime | Дата создания СКО. |
ChangeDate | DateTime | Дата последних изменений СКО. |
UserEmail | string | Email указанный покупателем. Соответствует полю email из метода createInvoice(). |
Поле | Тип | Описание |
---|---|---|
EshopId | int | Номер магазина в системе IntellectMoney |
Name | string | Название магазина |
Description | string | Описание магазина |
Url | string | Сайт магазина |
string | Email, на который отправляются оповещения | |
Phone | string | Номер телефона магазина |
WorkTime | string | Время работы магазина |
TemplateId | int | Версия страницы оплаты |
MerchantServiceOperatonState | Описание |
---|---|
0 | Успешно обработана |
1 | В процессе выполнения |
2 | Ошибка |
Код ошибки | Описание |
---|---|
0 | Успешно обработан |
1 | Обработан с предупреждениями |
10 | Ошибка сервера |
11 | Не защищенное соединение. Отправляйте запрос по https |
50 | Счет уже был оплачен ранее |
150 | Параметр eshopId передан неверно |
151 | Параметр invoiceId передан неверно |
152 | Обязательно должен быть передан либо eshopId либо invoiceId |
153 | Параметр inputType передан неверно |
154 | Не передан обязательный параметр hash или передан неверно |
155 | Не передан обязательный параметр amount или передан неверно |
156 | Параметр preferences передан неверно |
157 | Не передан обязательный параметр recipientAmount или передан неверно |
158 | Не передан обязательный параметр recipientCurrency или передан неверно |
159 | Не передан обязательный параметр email или передан неверно |
160 | Параметр serviceName передан неверно |
161 | Не передан обязательный параметр userName или передан неверно |
162 | Параметр successUrl передан неверно |
163 | Параметр failUrl передан неверно |
164 | Параметр backUrl передан неверно |
165 | Параметр resultUrl передан неверно |
166 | Параметр returnUrl передан неверно |
167 | Параметр expireDate передан неверно |
168 | Параметр holdMode передан неверно |
169 | Параметр(ы) userFields передан(ы) неверно |
170 | Не передан обязательный параметр orderId или передан неверно |
171 | Тестовый счет можно оплатить только способом \"Со счёта IntellectMoney\" |
172 | Параметр secretKey передан неверно |
173 | Параметр action передан неверно |
174 | Параметр operationAmount передан неверно |
175 | Обязательно должен быть передан invoiceId либо orderId |
176 | Не передан обязательный параметр ipAddress или передан неверно |
200 | Не передан обязательный параметр pinCode или передан неверно |
201 | Не передан обязательный параметр userToken или передан неверно |
202 | Данный счет не принадлежит владельцу кошелька IntellectMoney |
203 | В кошельке IntellectMoney нет подходящего счета с нужной валютой |
204 | Для проведения оплаты необходимо пройти идентификацию в личном кабинете IntellectMoney |
205 | Превышен лимит на оплату для кошелька IntellectMoney |
250 | Не передан обязательный параметр pan или передан неверно |
251 | Не передан обязательный параметр cvv или передан неверно |
252 | Не передан обязательный параметр cardHolder или передан неверно |
253 | Не передан обязательный параметр expiredYear или передан неверно |
254 | Не передан обязательный параметр expiredMonth или передан неверно |
255 | Не передан обязательный параметр activationAmount или передан неверно |
256 | Карта плательщика заблокирована |
257 | Счет в неверном статусе. Оплата не возможна |
258 | Есть не завершенные платежи. Дождитесь обработки |
259 | Платеж запрещен |
300 | Неверно передан параметр Pparameter |
301 | Неверно передан параметр inn |
302 | Неверно передан параметр residentofrussia |
303 | Неверно передан параметр series |
304 | Неверно передан параметр number |
350 | Неверно переданы новые позиции по чеку |
merchantServicePaymentStep | Описание |
---|---|
0 | Успешно завершен |
1 | Создан |
2 | В обработке |
3 | Отправлен на 3-DS |
4 | Отправлен на активационный платеж |
10 | Ошибка платежа |
preferenceTypeSpecification | Описание |
---|---|
All | Все |
Popular | Популярные |
Online | Онлайн |
NonComission | Без комиссии |
Flash | Мгновенные |
MerchanteServicePaymentStep | Описание |
---|---|
None | До 30 рабочих дней |
Flash | Мгновенно |
FiveDays | До 5 рабочих дней |
ThreeDays | До 3 рабочих дней |
InputType | Описание |
---|---|
InnerPayment | Внутренний перевод |
Acquiring | Оплата с банковской карты |
BankRF | Банковский перевод |
WMR | WebMoney |
Yandex | Яндекс.Деньги |
QiwiPurse | QIWI Кошелёк |
AlfaClickPayU | Альфа-Клик |
IBank | Интернет банкинг |
Bankomats | В банкоматах |
Terminals | В терминалах |
RapidaOnline | RapidaOnline |
GoogleADS | GoogleADS |
PostPay | Через почту РФ |
Mvideo | Mvideo |
QBank | QBank через Rapida |
SberBank | Сбербанк Онлайн |
AlfaClick | АльфаКлик |
Euroset | В салонах Евросеть |
Svyaznoy | В салонах Связной |
Название | Описание |
---|---|
RUB | Валюта оплаты - Российский рубль |
TST | Внутренняя тестовая валюта оплаты |
<ExchangeCurrency> | Описание |
---|---|
Yandex | Соответствует preference - Yandex |
WMR | Соответствует preference - WebMoney |
AlfaClick | Соответствует preference - AlfaClick |
SberBank | Соответствует preference - SberBank |
QiwiPurse | Соответствует preference - QiwiPurse |
Информацию о preference можно посмотреть по ссылке http://wiki.intellectmoney.ru/pages/viewpage.action?pageId=4849751
InvoiceState | Описание | Пояснение |
---|---|---|
Created | Создан | Счёт к оплате создан и теперь его состояние можно отслеживать методом getPurchaseInfo(). Никаких платёжных операций не производилось. |
PartPaid | Частично оплачен | Пользователь (Покупатель), внес часть средств. Пользователю (Покупателю) надо внести оставшуюся часть суммы. |
Paid | Полностью оплачен | Пользователь внес всю сумму. |
ToPaid | В процессе обработки | Над денежными средствами производятся действия. |
Refund | Возврат | Средства будут возвращены Пользователю (Покупателю). |
Held | Захолдирован | Средства заморожены (захолдированы/ holded) на счёте Пользователя (Покупателя). Данные средства будут зачислены или расхолдированы (вернутся Пользователю) по истечению времени заморозки (холдирования) или пока не будут зачислены вручную. Поведение денежных средств определяется в настройках магазина на вкладке "Приём платежей" в разделе "Расширенные настройки". |
Документация описывает последнюю версию API.
latest | Все методы работают только через POST - запросы |
v2.1 | В методе BankCardPayment появился новый обязательный параметр: ipAddress, изменился набор полей, участвующих в формировании хеша |
v2.0 | В методе CreateInvoice появились новые не обязательные параметры: resultUrl, UserFieldName_N, purchaseHash. Метод PayInvoiceBankCard переименован в BankCardPayment. Метод CheckInvoice переименован в GetBankCardPaymentState. В методе ActivationPay стал не обязательным параметр cvv, для карт, которые были выпущены без cvv. Появились новые методы:
|
v1.0 | Начальная версия |