- Created by Сергей, last modified by IntellectMoney on Oct 18, 2017
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 46 Next »
Общая информация
Данное API на текущий момент реализации позволяет запросить реестр платежей. Взаимодействие между сервером IntellectMoney и клиентом API происходит по HTTP-протоколу.
В ответ приходят два состояния запроса это <OperationState> и <Response>:
- <OperationState> сообщает - смогла ли система IntellectMoney обработать данный запрос. Возможны три варианта:
- Система обработала запрос.
- Система поставила запрос в очередь на обработку.
- Система не смогла обработать запрос.
- <Response> сообщает статус запроса - был ли найден данный метод, все ли параметры переданы верно и так далее.
Данные при запросах на сервер IntellectMoney передаются в формате параметров HTTP-запроса в кодировке UTF-8 с типом контента "application/x-www-form-urlencoded". В ответ данные возвращаются в формате XML, либо в формате JSON. Что бы получить ответ в формате JSON нужно в заголовки запроса передать "Accept: text/json".
СЛОВАРЬ ТЕРМИНОВ
- СКО — Счет К Оплате, инвойс
ПОРЯДОК ВЫЗОВА МЕТОДОВ
Для доступа к API следует получить ключ доступа через операцию аутентификации клиента Документация Personal API. Данный ключ является обязательным параметром для всех операций API.
getUserToken() — АУТЕНТИФИКАЦИЯ КЛИЕНТА API
Для запроса ключа доступа клиента к API необходимо отправить GET- или POST-запрос на следующий адрес URL: https://api.intellectmoney.ru/personal/user/getUserToken В запросе необходимо передать следующие параметры: Название Имя параметра Обязательный Описание Логин Login Да Логин пользователя юридического лица (магазина). Пароль Password Да Пароль пользователя юридического лица (магазина). В ответ возвращается код операции и возможны 3 варианта: Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <UserTokenData> (синхронная обработка). (Код операции - 0) Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1) Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)Передача параметров
Post /personal/user/getUserToken HTTP/1.1
Host: api.intellectmoney.ru
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Login=somelogin
Password=somepassword
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<OperationState>
<Code>0</Code>
<Desc>Успешно обработана</Desc>
</OperationState>
<OperationId>f2c33a48-17c8-4889-a327-5ad1b6260cd5</OperationId>
<EshopId>0</EshopId>
<Result>
<State>
<Code>0</Code>
<Desc>Успешно обработан.</Desc>
</State>
<UserToken>bs/fZNe0CE+b/Ze1xvVaNdEbjxm2wkRqMBSnBXJO9nFeEM57Hg17+AS8nF0Cs7+0</UserToken>
</Result>
</Response>
function getToken(){
$urlGetToken = "https://api.intellectmoney.ru/personal/user/getUserToken";
$login = 'Ваш логин от личного кабинета IntellectMoney';
$password = 'Ваш пароль от личного кабинета IntellectMoney';
$result = file_get_contents($urlGetToken."?Login=".$login."&Password=".$password);
$xml = new SimpleXMLElement($result);
$userToken = $xml->Result->UserToken[0];
return $userToken;
}
GETINVOICESHISTORY() — ПОЛУЧЕНИЕ РЕЕСТРА ПЛАТЕЖЕЙ
Передача параметров
Для запроса реестра платежей необходимо отправить GET- или POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/payment/getInvoicesHistory
В запросе необходимо передать следующие параметры:
Название | Имя параметра | Обязательный | Описание |
|---|---|---|---|
| Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Документация Personal API. |
ID магазина | EshopId | Нет | Номер магазина в системе IntellectMoney, по которому запрашивается реестр. Можно увидеть на странице https://intellectmoney.ru/ru/enter/ps_organization_shop/ в столбце "ID". |
Статус СКО | State | Нет | Запрос реестра платежей только с указанным статусом СКО (см. <InvoiceState>) |
| Номер СКО | InvoiceId | Нет | Запрос информации только по одному СКО по его номеру |
| Включает транзакции по СКО в выборку | IncludePaymentTransactions | Тип boolean. При передаче значения true в выборку будут включены все транзакции по СКО: транзакции пополнения СКО, транзакции пополнения счета магазина, транзакции возврата (при возврате) | |
| Дата начала выборки | DateFrom | Нет | Запрос реестра платежей с датой последних изменений СКО, входящей в период выборки в формате ММ.ДД.ГГГГ. |
| Дата окончания выборки | DateTo | Нет | |
| Ограничение выборки по количеству объектов | Skip | Нет | Количество объектов, пропускаемых перед отдачей |
| Ограничение выборки по количеству объектов | Take | Да | Ограничение на количество возвращаемых объектов. |
Использование параметров
При выборке данных используется конъюнкция параметров. Например, в случае, если переданы параметры "Статус СКО" и "Номер СКО", то результат запрос вернет объект СКО только при его наличии с переданными номером и статусом.
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <InvoicesHistoryListData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Post /personal/payment/getInvoicesHistory HTTP/1.1 Host: api.intellectmoney.ru Content-Type: application/x-www-form-urlencoded; charset=utf-8 userToken=bs/fZNe0CE+b/Ze1xvVaNdEbjxm2wkRqMBSnBXJO9nFeEM57Hg17+AS8nF0Cs7+0 eshopId=450063 dateTo=07.15.2017 take=10 invoiceId=3930949846 IncludePaymentTransactions=true
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<OperationState>
<Code>0</Code>
<Desc>Успешно обработана</Desc>
</OperationState>
<OperationId>50a55d0c-a754-47ca-b355-56362cf52a98</OperationId>
<EshopId>0</EshopId>
<Result>
<State>
<Code>0</Code>
<Desc>Успешно обработан.</Desc>
</State>
<InvoicesHistoryList>
<InvoiceData>
<Id>3930949846</Id>
<State>Paid</State>
<HoldModeFlag>false</HoldModeFlag>
<ChangeDate>2017-06-02T10:12:00.457</ChangeDate>
<CreationDate>2017-06-02T10:11:03.383</CreationDate>
<ExpirationDate>0001-01-01T00:00:00</ExpirationDate>
<Amount>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</Amount>
<CurrentAmount>
<Amount>0.0000</Amount>
<Currency>RUB</Currency>
</CurrentAmount>
<SurchargeAmount>
<Amount>0</Amount>
<Currency>RUB</Currency>
</SurchargeAmount>
<AdditionalInfo>
<KeyValue>
<Key>Магазин</Key>
<Value xsi:type="xsd:string">ShopReal</Value>
</KeyValue>
<KeyValue>
<Key>Url</Key>
<Value xsi:type="xsd:string">http://yandex.ru</Value>
</KeyValue>
</AdditionalInfo>
<HistoryList>
<HistoryData>
<Id>27907531</Id>
<PaymentNumber>2036160602</PaymentNumber>
<State>Confirm</State>
<CreationDate>2017-09-22T17:30:01.04</CreationDate>
<PaymentAmount>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</PaymentAmount>
<RecipientAmount>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</RecipientAmount>
<PaymentAccount>IMOUT4936010998</PaymentAccount>
<RecipientAccount>IM1028693534</RecipientAccount>
<Comment>Возврат по ордеру 538</Comment>
<Description>Внутренний на s.suvorinov@intellectmoney.ru</Description>
<Direction>Withdraw</Direction>
<PurchaseOrderId>123456789000</PurchaseOrderId>
<AdditionalInfo />
<InvoicePaymentType>Refund</InvoicePaymentType>
<InvoiceId>3930949846</InvoiceId>
<IsElectedPayment>false</IsElectedPayment>
<TypeOfRePayment xsi:nil="true" />
<ProviderId xsi:nil="true" />
<CatalogPaymentId>0</CatalogPaymentId>
<ShortPan />
<Country />
<UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
</HistoryData>
<HistoryData>
<Id>27905689</Id>
<PaymentNumber>2036150166</PaymentNumber>
<State>Confirm</State>
<CreationDate>2017-06-02T10:12:00.517</CreationDate>
<PaymentAmount>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</PaymentAmount>
<RecipientAmount>
<Amount>10.6200</Amount>
<Currency>RUB</Currency>
</RecipientAmount>
<PaymentAccount>Счет к оплате 3930949846</PaymentAccount>
<RecipientAccount>IM4406528006</RecipientAccount>
<Description>Зачисление денежных средств на счет магазина "ShopReal" со счета "3930949846"</Description>
<Direction>Withdraw</Direction>
<PurchaseOrderId>123456789000</PurchaseOrderId>
<AdditionalInfo />
<InvoicePaymentType>Purchase</InvoicePaymentType>
<InvoiceId>3930949846</InvoiceId>
<IsElectedPayment>false</IsElectedPayment>
<TypeOfRePayment xsi:nil="true" />
<ProviderId xsi:nil="true" />
<CatalogPaymentId>0</CatalogPaymentId>
<ShortPan />
<Country />
<UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
</HistoryData>
<HistoryData>
<Id>27905686</Id>
<PaymentNumber>2036150165</PaymentNumber>
<State>Confirm</State>
<CreationDate>2017-06-02T10:11:20.767</CreationDate>
<PaymentAmount>
<Amount>11.1100</Amount>
<Currency>RUB</Currency>
</PaymentAmount>
<RecipientAmount>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</RecipientAmount>
<PaymentAccount>IM1028693534</PaymentAccount>
<RecipientAccount>Счет к оплате 3930949846</RecipientAccount>
<Comment />
<Description>Пополнение счета № "3930949846" через "IM1028693534"</Description>
<Direction>Deposit</Direction>
<PurchaseOrderId>123456789000</PurchaseOrderId>
<AdditionalInfo />
<InvoicePaymentType>Entry</InvoicePaymentType>
<InvoiceId>3930949846</InvoiceId>
<IsElectedPayment>false</IsElectedPayment>
<TypeOfRePayment xsi:nil="true" />
<ProviderId xsi:nil="true" />
<CatalogPaymentId>0</CatalogPaymentId>
<InputType>InnerPayment</InputType>
<ShortPan />
<Country />
<UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
</HistoryData>
</HistoryList>
<OwnerEmail>s.suvorinov@intellectmoney.ru</OwnerEmail>
<OwnerFIO>Суворинов Сергей eauoau</OwnerFIO>
<PurchaseOrderId>123456789000</PurchaseOrderId>
<PurchaseData>
<Id>36007</Id>
<PurchaseMoney>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</PurchaseMoney>
<OrderId>123456789000</OrderId>
<BackUrl>http://google.com/backurl</BackUrl>
<SuccessMethod xsi:nil="true" />
<FailMethod xsi:nil="true" />
<EshopId>450063</EshopId>
<EshopUrl>http://yandex.ru</EshopUrl>
<EshopName>ShopReal</EshopName>
<SMSEnable>true</SMSEnable>
<UserName>Суворинов Сергей</UserName>
<UserEmail>s.suvorinov@intellectmoney.ru</UserEmail>
<IsHeldByEshop>true</IsHeldByEshop>
<ParseUserFields />
</PurchaseData>
<IsCanEnrollmentByDisabledMethod>false</IsCanEnrollmentByDisabledMethod>
<InvoiceChangeAmountHistoryData />
<OriginalAmount>
<Amount>11.0000</Amount>
<Currency>RUB</Currency>
</OriginalAmount>
<FormType>None</FormType>
<OrganizationName>Маша и Медведи</OrganizationName>
<IsHaveCashboxReceipts>false</IsHaveCashboxReceipts>
</InvoiceData>
</InvoicesHistoryList>
</Result>
</Response>
SetScheduledOperation() — РЕДАКТИРОВАНИЕ ОПЕРАЦИЙ ПО РАСПИСАНИЮ
GetScheduledOperation() — ПОЛУЧЕНИЕ СПИСКА ОПЕРАЦИЙ ПО РАСПИСАНИЮ
ТИПЫ ДАННЫХ
<Response>
Поле | Тип | Описание |
|---|---|---|
OperationState | Статус выполнения операции | |
OperationId | GUID | Идентификатор операции |
EshopId | int | ID магазина |
Result | MethodResult | Результат выполнения запроса. Зависит от типа запроса. В случае асинхронной обработки запроса данного поля не будет. |
<OperationState>
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
Desc | string | Описание кода статуса выполнения запроса |
<UserTokenData>
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
UserToken | string | Ключ доступа клиента к API |
<InvoicesHistoryListData>
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
InvoicesHistoryList | Список (реестр) платежей |
<InvoiceData>
Поле | Тип | Описание |
|---|---|---|
Id | long | Номер СКО |
State | Статус состояния СКО | |
| CreationDate | DateTime | Дата создания СКО |
| ChangeDate | DateTime | Дата последних изменений СКО |
| Amount | <Money> | Сумма СКО с учётом комиссии |
| CurrentAmount | <Money> | Оплаченная сумма СКО |
| SurchargeAmount | <Money> | Сумма СКО, которую осталось оплатить, если счёт уже оплачен - покажет 0 |
| Comment | string | Комментарий к платежу |
| EShopId | long | Номер магазина в системе IntellectMoney |
| PurchaseOrderId | string | Внутренний номер покупки (заказа) в магазине |
| HistoryList | List<HistoryData> | Список транзакций по СКО |
<HistoryData>
| Поле | Тип | Описание |
|---|---|---|
| Id | long | Идентификатор транзакции в системе ИнтеллектМани (для внутреннего использования) |
| PaymentNumber | long | Номер транзакции |
| State | <TransactionState> | Статус транзакции |
| CreationDate | DateTime | Дата создания транзакции |
| PaymentAmount | <Money> | Сумма списания по транзакции |
| RecipientAmount | <Money> | Сумма зачисления по транзакции |
| PaymentAccount | string | Счет списания по транзакции |
| RecipientAccount | string | Счет зачисления по транзакции |
| Comment | string | Комментарий к транзакции |
| Description | string | Описание транзакции |
| InvoicePaymentType | <PaymentType> | Тип осуществляемой транзакции: пополнение, зачисление или возврат |
Свойства <InvoiceData>
Свойства типа данных <InvoiceData> и <HistoryData>, приведенные в примере ответа на запрос, но не описанные выше, следует игнорировать в текущей версии API.
<TransactionState>
| TransactionState | Описание | Пояснение |
|---|---|---|
| Created | Создан | Транзакция создана на исполнение и ожидает очереди к выполнению |
| Confirm | Исполнен | Транзакция исполнена, средства переведены с одного счета на другой |
| Canceled | Отменена | Транзакция отменена. Считать недействительной. |
<PaymentType>
| PaymentType | Описание | Пояснение |
|---|---|---|
| Entry | Входная транзакция | Транзакция пополнения СКО |
| Purchase | Транзакция зачисления | Транзакция пополнения счета магазина |
| Refund | Транзакция возврата | Транзакция возврата со счета магазина на счет плательщика |
<Money>
Поле | Тип | Описание |
|---|---|---|
| Amount | decimal | Количество денежных средств. |
| Currency | <Currency> | В какой валюте исчисляются денежные средства. |
<SetScheduledOperationData>
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
SetScheduledOperationData | Bool | 1 - Расписание отредактировано успешно |
<GetScheduledOperationData>
Поле | Тип | Описание |
|---|---|---|
State | Статусы выполнения запросов | |
GetScheduledOperationData | Список операций |
<ScheduledOperationData>
Поле | Тип | Описание |
|---|---|---|
| OperationId | GUID | Номер операции для ее изменения, если не передать создается новая операция (GUID) |
| ObjectId | long | Объект источник, например:
|
| ObjectTypeVal | tinyint | Тип регулярной операции (1 - Recurring) |
| Params | text | Дополнительные параметры в формате JSON, например: {'Amount':15} |
| RepeatPlan | text | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) |
| RetryOnFailPlan | text | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) |
| RetryOnFailCount | text | Количество повторных попыток выполнения (целое число) |
| IsSingle | bool | Флаг, указывающий возможность запуска паралельных тасков
|
| FireOnSkip | bool | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) |
| State | bool | Флаг, указывающий статус активности
|
ПЕРЕЧИСЛЕНИЯ
Коды операций
ServiceOperatonState | Описание |
|---|---|
0 | Успешно обработана |
1 | В процессе выполнения |
2 | Ошибка |
Статусы запросов
Код ошибки | Описание |
|---|---|
0 | Успешно обработан |
1 | Обработан с предупреждениями |
2 | Аутентификация не пройдена |
Описание принимаемых валют
Название | Описание |
|---|---|
RUB | Валюта оплаты - Российский рубль |
| TST | Внутренняя тестовая валюта оплаты |
Статусы состояния СКО
InvoiceState | Числовое представление | Описание | Пояснение |
|---|---|---|---|
| Created | 0 | Создан | Счёт к оплате создан и теперь его состояние можно отслеживать методом getPurchaseInfo(). Никаких платёжных операций не производилось. |
| PartPaid | 1 | Частично оплачен | Пользователь (Покупатель), внес часть средств. Пользователю (Покупателю) надо внести оставшуюся часть суммы. |
| Paid | 2 | Полностью оплачен | Пользователь внес всю сумму. |
| ToPaid | 3 | В процессе обработки | Над денежными средствами производятся действия. |
| Refund | 4 | Возврат | Средства будут возвращены Пользователю (Покупателю). |
| Held | 6 | Захолдирован | Средства заморожены (захолдированы/ holded) на счёте Пользователя (Покупателя). Данные средства будут зачислены или расхолдированы (вернутся Пользователю) по истечению времени заморозки (холдирования) или пока не будут зачислены вручную. Поведение денежных средств определяется в настройках магазина на вкладке "Приём платежей" в разделе "Расширенные настройки". |
- No labels