- Created by IntellectMoney, last modified on Oct 17, 2017
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 5 Next »
Описание
Система дает возможность регистрировать/отменять подписку и проводить платежи без участия карточных данных клиента. Данный функционал применим для магазинов, работающих по протоколу IntellectMoney, в настройках магазина должна быть включена настройка "Требовать HASH".
Схема работы
Выставляем счёт. Счёт можно выставить как через Merchant API так и с помощью HTML формы.
Оплачиваем, выставленный в пункте 1, счёт банковской картой. Оплатить можно на странице оплаты merchant.intellectmoney.ru или через Merchant API.
В оповещение о платеже добавляются статусы по запрошенным операциям, хеш уведомлений при этом не изменяется.
Имя параметра
Описание
recurringState Статус, по итогам регистрации операции в банке эквайере:
Activated - Активирован
Deactivated - Активация отменена
Payed - Оплата завершена
Error - Ошибка обработки операции, операция обработана не будет
Регистрация регулярной операции через документацию по Операции по расписанию
Выставление счёта
При выставлении счёта надо обязательно передать дополнительные параметры для использования карты в цепочке рекуррентных платежей.
В случае передачи recurringType формирование хеша происходит по схеме:
eshopId::orderId::serviceName::recipientAmount::recipientCurrency::recurringType::secretKey
Имя параметра | Обязательный | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
recurringType | Нет | Тип операции рекарринга, возможные значения:
| ||||||||||||
recurringInfo | Нет | Информация для пользователя, которая показывается в процессе оплаты, перед вводом реквизитов банковской карты | ||||||||||||
recurringSourceInvoiceId | Нет | Номер СКО, которым была инициирована цепочка платежей (счет, по которому был передан recurringType = Activate) Является обязательным если не передан recurringType = Pay |
Пример на языке программирования PHP:
SetScheduledOperation() — РЕДАКТИРОВАНИЕ ОПЕРАЦИЙ ПО РАСПИСАНИЮ
Для редактирования операций по расписанию необходимо отправить GET- или POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/payment/setScheduledOperation
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Рекуррентые платежи. |
Номер операции | OperationId | Нет | Номер операции для ее изменения, если не передать создается новая операция (GUID) |
Объект операции | ObjectId | Да | Объект источник, например:
|
Тип операции | ObjectTypeVal | Да | Тип регулярной операции (1 - Recurring) |
Параметры | Params | Нет | Дополнительные параметры в формате JSON, например: {'Amount':15} |
План выполнения | RepeatPlan | Да | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) |
План повторов выполнения | RetryOnFailPlan | Нет | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) |
Количество повторов выполнения | RetryOnFailCount | Нет | Количество повторных попыток выполнения (целое число) |
Многопоточность | IsSingle | Да | Флаг, указывающий возможность запуска паралельных тасков
|
Перезапуск | FireOnSkip | Да | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) |
Активность | State | Да | Флаг, указывающий статус активности
|
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <SetScheduledOperationData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
GetScheduledOperation() — ПОЛУЧЕНИЕ СПИСКА ОПЕРАЦИЙ ПО РАСПИСАНИЮ
Для получения списка операций по расписанию необходимо отправить GET- или POST-запрос на следующий адрес URL:
https://api.intellectmoney.ru/personal/payment/getScheduledOperation
Название | Имя параметра | Обязательный | Описание |
---|---|---|---|
Ключ доступа | UserToken | Да | Ключ доступа клиента к API, запрашиваемый операцией аутентификации клиента Рекуррентые платежи. |
Номер операции | OperationId | Нет | Номер операции для ее изменения, если не передать создается новая операция (GUID) |
Объект операции | ObjectId | Нет | Объект источник, например:
|
Тип операции | ObjectTypeVal | Нет | Тип регулярной операции (1 - Recurring) |
Параметры | Params | Нет | Дополнительные параметры в формате JSON, например: {'Amount':15} |
План выполнения | RepeatPlan | Нет | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) |
План повторов выполнения | RetryOnFailPlan | Нет | Cron expressions запуска задачи (можно использовать http://www.cronmaker.com/) |
Количество повторов выполнения | RetryOnFailCount | Нет | Количество повторных попыток выполнения (целое число) |
Многопоточность | IsSingle | Нет | Флаг, указывающий возможность запуска паралельных тасков
|
Перезапуск | FireOnSkip | Нет | Флаг, указывающий необходимость создания всех запланированных задач, в случае их непредвиденного пропуска (0 или 1) |
Активность | State | Нет | Флаг, указывающий статус активности
|
Дата начала выборки | DateFrom | Нет | Пограничные значения даты изменения расписания ММ.ДД.ГГГГ. |
Дата окончания выборки | DateTo | Нет | Пограничные значения даты изменения расписания ММ.ДД.ГГГГ. |
Ограничение выборки по количеству объектов | Skip | Нет | Количество объектов, пропускаемых перед отдачей |
Ограничение выборки по количеству объектов | Take | Да | Ограничение на количество возвращаемых объектов. |
В ответ возвращается код операции и возможны 3 варианта:
Запрос обработался моментально. Ответ типа <Response> будет содержать структуру <GetScheduledOperationData> (синхронная обработка). (Код операции - 0)
Запрос был поставлен в очередь на обработку. Ответ типа <Response> будет содержать идентификатор операции, по которому можно запросить результат выполнения операции (асинхронная обработка). (Код операции - 1)
Ошибка обработки операции. Операция выполнена не будет. (Код операции - 2)
Типы данных
<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 | Флаг, указывающий статус активности
|
- No labels