Войти в систему Создать аккаунт








Тарифы
Лимиты
Главная / Разработчикам ПО

Агентский интернет-терминал моментальной оплаты


 
  • О сервисе
  •  
  • Регистрация владельца сервиса
  •  
  • Список команд, необходимых для реализации модуля

  • О сервисе


    Агентский интернет-терминал моментальной оплаты может устанавливаться в интернет-магазинах, обменных пунктах и других сервисах в качестве отдельного модуля для извлечения дополнительного дохода, либо размещаться на отдельном домене.

    При этом пользователи, желающие пополнить счет мобильного телефона или оплатить услуги интернет-провайдера, могут иметь счет в любой системе, подключенной к агентскому магазину для приема платежей. В качестве пользователя Delta Key или Uni Transfer должен быть зарегистрирован только владелец сервиса.

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

    1. Пользователь выбирает оператора, в адрес которого он желает совершить платеж (при этом так как операторов много, то всех их можно разбить на группы - Сотовая связь, Интернет, Финансовые сервисы и т.д.);
    2. После выбора оператора запрашиваются параметры платежа, например, номер телефона или счета, что нужно оператору для персонификации плательщика (некторым операторам нужно несколько параметров, например, - улица, номер дома и номер квартиры). Список параметров зависит от выбранного оператора;
    3. Запрашивается сумма платежа у плательщика. При этом здесь же можно показать, сколько пользователь должен заплатить в зависимости от выбранной валюты платжа;
    4. Пользователь с помощью мерчанта своей системы производит операцию оплаты;
    5. После успешной оплаты выполняется операция проведения платежа в адрес оператора.




    Регистрация владельца сервиса


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

    1. Зарегистрироваться в качестве пользователя системы Delta Key (описание регистрации с использованием ПО Система Мониторинга и Статистики см. здесь);
    2. Зарегистрироваться в качестве дилера по приему платежей (описание регистрации в качестве дилера с использованием ПО Система Мониторинга и Статистики см. здесь);
    3. Зарегистрировать точку по приему платежей;
    4. Настроить комиссию на точку (комиссия, взимаемая сверху с плательщика в доход владельца сервиса);
    5. Зарегистрировать дополнительного пользователя (без привелегий администратора), настроить его права;

    Эти же самые действия необходимо проделать любому пользователю, который устанавливает модуль агентского магазина, разработанный сторонними разработчиками, а все регистрационные данные прописать в настройках модуля.

    Список команд, необходимых для реализации модуля


    Агентскому терминалу моментальной оплаты необходимо иметь возможность выполенения следующих операций:

  • запрос списка операторов;
  • запрос параметров оператора;
  • моментальная оплата;
  • получение результатов платежа;
  • дополнительно может быть реализовано получение балансов своих счетов.

    Обращения к серверу Delta Key реализуются по протоколу DKCP-User стандарта ExDK. Желательно для запросов использовать сертификат дополнительного пользователя для повышения безопасности модуля. Также для увеличения безопасности сервиса возможна настройка доступа к командам по IP-адресу (описание настройки доступа по IP с использованием ПО Система Мониторинга и Статистики см. здесь).

    Ниже приводится список команд, реализованных на основе протокола DKCP-User и стандарта ExDK, отсортированных по их функциональному назначению.

        getlist_keyt - Получение списка своих счетов;
        get_result_finoperation - Получение статуса и результата транзакции;
        get_result_exttransact - Проверка результата операции по номеру внешней транзакции;
        pay_momental - Моментальная оплата;
        get_tree_momental - Получение списка операторов для моментальной оплаты;
        get_form_fields - Получить поля платежной формы;




    getlist_keyt

    Получение списка своих счетов

        Подробное описание команды:
    Команда позволяет получить список всех счетов пользователя или одного из его счетов

        Скрипт:
    https://deltakey.net/dkcp/keyt.py

        Дополнительные параметры команды:
    keyt
    Описание:Номер счета
    Обязательный:Нет
    Значение по-умолчанию:-1
    Регулярное выражение:^-1$|^@keyt@$
    Тип значения:-1 или целое число, 15 цифр
    stat_code
    Описание:Код типа счета
    Обязательный:Нет
    Значение по-умолчанию:-1
    Регулярное выражение:^-1$|^[0-9]+[0-9\,]*$
    Тип значения:-1 - все типы счетов, или список кодов через запятую

        Возвращаемое значение:
    В табличной части возвращается список счетов пользователя. В случае, если передан параметр "keyt", то в табличной части будет содержаться только одна строка с параметрами переданного счета. Если передан неверный номер счета, то в табличной части не будет содержаться ни одной строки.




    get_result_finoperation

    Получение статуса и результата транзакции

        Подробное описание команды:
    Команда позволяет запросить статус и результат платежа (обработан/не обработан, успех/неуспех). Имеет смысл для операций, не завершенных в момент проводки транзакции, таких, как перевод пользователю с протекцией сделки, моментальная оплата и некоторые другие

        Скрипт:
    https://deltakey.net/dkcp/statistics.py

        Дополнительные параметры команды:
    transact_num
    Описание:Номер транзакции
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^\d+$
    Тип значения:Целое число

        Возвращаемое значение:
    В табличной части результат возвращается код статуса, текстовая расшифровка статуса, результат и текстовая расшифровка результата.
    Статус 2 означает, что операция завершена, иначе - в обработке. Для завершенных операций результат равный 0 означает успех проведения, иначе - ошибка (отказ).
    Для незавершенных операций (статус=1) результат значения не имеет, так как будет присвоен только по завершению операции.




    get_result_exttransact

    Проверка результата операции по номеру внешней транзакции

        Подробное описание команды:
    Команда позволяет проверить результат выполнения операции по номеру внешней транзакции

        Скрипт:
    https://deltakey.net/dkcp/statistics.py

        Дополнительные параметры команды:
    ext_transact_num
    Описание:Номер внешней транзакции
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^\d{1,20}$
    Тип значения:Целое число до 20 символов

        Возвращаемое значение:
    В табличной части результат возвращается код статуса, текстовая расшифровка статуса, результат и текстовая расшифровка результата.
    Статус 2 означает, что операция завершена, иначе - в обработке. Для завершенных операций результат равный 0 означает успех проведения, иначе - ошибка (отказ).
    Для незавершенных операций (статус=1) результат значения не имеет, так как будет присвоен только по завершению операции.




    pay_momental

    Моментальная оплата

        Подробное описание команды:
    Команда позволяет совершить платеж в пользу поставщика услуг.
    В качестве параметра "payform" передается номер формы (код оператора). Список кодов операторов можно получить с помощью команды "get_tree_momental".
    В зависимости от того, на какого оператора выполняется платеж, команда требует соответствующих дополнительных параметров (1 и более). Получить список и описание параметров для отдельного поставщика услуг можно с помощью команды "get_form_fields".
    Если плательщик зарегистрирован в системе как дилер по платежам, он может передать номер точки, тогда комиссия по операции будет удержана согласно настроек этой точки.

        Скрипт:
    https://deltakey.net/dkcp/fin.py

        Дополнительные параметры команды:
    payform
    Описание:Платежная форма
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^\d{1,7}$
    Тип значения:целое число
    keyt
    Описание:Номер счета для списания средств
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^@keyt@$
    Тип значения:15 цифр
    sum
    Описание:Сумма платежа
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^\d{1,12}(\.\d{1,2}){,1}$
    Тип значения:дробное число, точность два знака. Разделитель - точка
    date_pay
    Описание:Локальная дата платежа
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^\d{4}-\d{1,2}-\d{1,2}(\s\d{1,2}:\d{1,2}:\d{1,2}){,1}$
    Тип значения:ГГГГ-ММ-ДД или ГГГГ-ММ-ДД чч:мм:сс
    num_point
    Описание:Номер точки
    Обязательный:Нет
    Значение по-умолчанию:0
    Регулярное выражение:^-1$|^\d{1,10}$
    Тип значения:-1 (обычный плательщик) или целое число
    comment
    Описание:Комментарий к платежу
    Обязательный:Нет
    Значение по-умолчанию:
    Регулярное выражение:^.{,255}$
    Тип значения:Строка до 255 символов
    template_name
    Описание:Сохранить как шаблон с данным именем
    Обязательный:Нет
    Значение по-умолчанию:
    Регулярное выражение:^.{,255}$
    Тип значения:Строка до 255 символов
    template_grp
    Описание:Код группы, в которую положить шаблон
    Обязательный:Нет
    Значение по-умолчанию:
    Регулярное выражение:^.{,10}$
    Тип значения:Строка до 10 символов

        Возвращаемое значение:
    В качестве дополнительных параметров возвращаются системная ("sys_persent" и "sys_comiss") и дилерская ("dealer_persent" и "dealer_comiss") комиссия с платежа, сумма, списанная со счета ("itogo"), и сумма к зачислению оператором ("summ_pay")




    get_tree_momental

    Получение списка операторов для моментальной оплаты

        Подробное описание команды:
    Команда get_tree_momental позволяет загрузить дерево операторов. Список операторов называется деревом потому, что все они разбиты на группы, и одна группа теоретически может быть вложена в другую.

        Скрипт:
    https://deltakey.net/dkcp/direct.py

        Дополнительные параметры команды:
    country
    Описание:Страна
    Обязательный:Нет
    Значение по-умолчанию:-1
    Регулярное выражение:^-1$|^0$|^\d{1,3}$
    Тип значения:-1 (все страны), 0 (страна из настроек пользователя) или от 1 до 3 цифр
    region
    Описание:Регион
    Обязательный:Нет
    Значение по-умолчанию:-1
    Регулярное выражение:^-1$|^0$|^\d{1,10}$
    Тип значения:-1 (все регионы), 0 (регион из настроек пользователя) или целое число
    website
    Описание:Интернет сайт
    Обязательный:Нет
    Значение по-умолчанию:
    Регулярное выражение:^.*$
    Тип значения:Строка
    description
    Описание:Описание
    Обязательный:Нет
    Значение по-умолчанию:
    Регулярное выражение:^.*$
    Тип значения:Строка
    description
    Описание:Описание
    Обязательный:Нет
    Значение по-умолчанию:
    Регулярное выражение:^.*$
    Тип значения:Строка
    with_field_info
    Описание:Включить информацию о полях
    Обязательный:Нет
    Значение по-умолчанию:0
    Регулярное выражение:^[0-1]$
    Тип значения:0 или 1
    num_point
    Описание:Номер точки
    Обязательный:Нет
    Значение по-умолчанию:0
    Регулярное выражение:^\d{1,}$
    Тип значения:Целое число

        Возвращаемое значение:
    В табличной части результата содержатся следующие столбцы:
    • type (Тип) – определяет, является ли данная строка собственно оператором (1) или описанием группы (0);
    • code (Код) – код оператора (или группы). Синонимом кода оператора является термин «платежная форма».
    • root (Группа) – группа, к которой относится оператор (либо группа при наличии иерархии в группах); значение None указывает на то, что данная строка описывает корневую группу;
    • name (Название) – название оператора или группы.
    Например, возвращенная таблица может быть следующего вида:
    Тип Код ГруппаНазвание
    0 100002 None Сотовая связь
    1 26 100002 Мегафон Москва
    1 158 100002 Киевстар
    0 100001 None Финансовые сервисы
    1 33 100001 Yandex.Money
    1 59 100001 Star Trek ОСМП
    1 9 100002 Матрикс Мобайл
    1 56 100001 WebMoney
    Приведенную выше структуру можно расшифровать таким образом. Имеются две группы (Сотовая связь и Финансовые сервисы). В группе сотовая связь (код 100002) находятся платежные формы «Мегафон Москва», «Киевстар», «Матрикс Мобайл», а в группе финансовые сервисы – «Yandex.Money», «Star Trek ОСМП» и «WebMoney».




    get_form_fields

    Получить поля платежной формы

        Подробное описание команды:
    Команда получает список полей, которые необходимо заполнить при операции моментальной оплаты на выбранного оператора.

        Скрипт:
    https://deltakey.net/dkcp/direct.py

        Дополнительные параметры команды:
    payform
    Описание:Платежная форма
    Обязательный:Да
    Значение по-умолчанию:
    Регулярное выражение:^\d+$
    Тип значения:Целое число
    num_point
    Описание:Номер точки
    Обязательный:Нет
    Значение по-умолчанию:0
    Регулярное выражение:^-1$|^\d+$
    Тип значения:Целое число
    curr
    Описание:Код валюты платежа
    Обязательный:Нет
    Значение по-умолчанию:0
    Регулярное выражение:^\d+$
    Тип значения:Целое число
    auto_rate
    Описание:Возможность автоматической конвертации
    Обязательный:Нет
    Значение по-умолчанию:1
    Регулярное выражение:^\d+$
    Тип значения:Целое число

        Возвращаемое значение:
    Команда в табличной части ответа возвращает все поля формы в следующем виде:
    • num_field (Номер поля) – номер поля; при передаче значений полей используется именно номер поля;
    • eng_name (Англ. название) – английское название поля (кодовое название, не имеет пробелов);
    • rus_name (Рус. название) – русскоязычный синоним;
    • re (Регулярное выражение) – регулярное выражение, проверка введенного значения не является обязательным и выполняется по желанию разработчика; в любом случае введенное значение будет проверено по регулярке на сервере;
    • mask (Маска ввода) – маска ввода, не обязательна к использованию;
    • obligatory (Обязательное) – определяет, является ли поле обязательным к заполнению (1) или нет (0);
    • sort (Порядок сортировки) – порядок, в котором должны выдаваться поля для заполнения пользователем;
    • type_field (Тип поля) – тип вводимого значения, 1 – однострочный элемент ввода, 2 – многострочный элемент ввода; не обязателен к использованию;
    • type_num_val (Список номеров значений списка выбора);
    • type_text_val (Список текстовых значений списка выбора);
    Для некоторых операторов значение одного из полей может быть выбрано из списка; в этом случае значения полей type_num_val и type_text_val будут содержать строки с кодами значений и текстовыми их представлениями соответственно. Например, при оплате на Дальсвязь пользователь по своему усмотрению может выбрать тип платежа – Дальсвязь, Аудиотеле, Ростелеком, Ростелеком (ИСС), МТТ (ИСС) или МТТ. В этом случае полученная структура будет такой:
    Номер поля Англ. название Рус. название Регулярное выражение Маска ввода Обязательное Порядок сортировки Тип поля Список номеров значений списка выбора Список текстовых значений списка выбора
    11 phone Номер телефона ^[8]{0,1}[0-9]{10}$ 8-XXX-XXX-XX-XX 1 0 1
    2500 type_pay Тип платежа 0 1 1 1|10|2|21|3|4 Дальсвязь|Аудиотеле|Ростелеком|Ростелеком (ИСС)|МТТ (ИСС)|МТТ
    Данную таблицу можно расшифровать следующим образом: первое поле – номер телефона, имеет код 11, является обязательным к заполнению, должно содержать в себе 10 цифр, при этом в начале может быть незначащая восьмерка. Второе поле – тип платежа, является списком выбора, и должно выбираться из списка.
    При этом при отправке данных на сервер при вводе в качестве номера телефона 9376665554 и выборе параметра «Ростелеком», вместо слова «Ростелеком» должен быть передан его код – 2.



    Вернуться назад