Оглавление 2
3
Введение 4
Назначение документа 4
Словарь терминов 4
История изменения 5
Назначение XML шлюза 7
Общая схема работы системы 7
Описание типов, используемых в XML шлюзе 8
Запрос к XML шлюзу 8
signType 8
authInfo 8
field 8
paymentInfo 9
registeredPaymentInfo 9
checkCommand 9
cashinCommand 10
payCommand 10
statusCommand 10
batchCommand 10
balanceCommand 11
operatorCommand 11
providersCommand 11
ratesCommand 11
commissionCommand 11
request 11
Ответ XML шлюза 12
requestResultCode 12
paymentResultCode 12
paymentStateCode 13
paymentStateType 13
paymentResult 13
paymentState 14
paymentStatus 14
paymentStatusList 15
batchResult 15
requestResult 15
response 15
Аутентификация на XML шлюзе 16
Подпись сообщения 17
Формирования текста для подписи 18
Подпись с помощью Crypto API 19
Подпись с помощью MD5 19
Операции поддерживаемые XML шлюзом 20
Запрос баланса 21
Формат запроса 21
Формат ответа 21
Запрос информации по оператору 22
Формат запроса 22
Формат ответа 22
Получение списка провайдеров 23
Формат запроса 23
Формат ответа 23
Получение курсов валют, установленных по провайдерам 25
Формат запроса 25
Формат ответа 25
Получение установленных комиссий по провайдерам 27
Формат запроса 27
Формат ответа 27
Обработка объекта PaymentStatus 28
Двухфазное проведение платежа 28
Общая схема проведения платежа 29
Первая фаза. Проверка возможности проведения платежа 29
Схема проведения первой фазы двухфазного платежа: 30
Вторая фаза. Проведение платежа 31
Схема проведения второй фазы двухфазного платежа: 32
Обработка ответа и ошибок 32
Однофазное проведение платежа 33
Общая схема проведения однофазного платежа 33
Посылка запроса 33
Пакетная обработка платежей 34
Контактная информация 36
Данный документ описывает регламент технического взаимодействия XML-шлюза платежной системы X-plat с XML-клиентом дилера по протоколу HTTP/HTTPS.
Документ предназначен для разработчиков XML-клиентов дилеров.
Термин
|
Определение
|
Дилер
|
- организация, осуществляющая прием и проведение платежей на основании агентского договора с системой X-plat;
- ответственное за работу пунктов приема платежей лицо (осуществляет установку и активацию программы-клиента, создание точек, добавление операторов и т.д.)
|
Точка или пункт приема
|
Рабочее место (компьютер + программа), с которого осуществляется проведение платежей.
|
Оператор
|
Пользователь точки (автоматизированного рабочего места, программы), который производит отправку платежей.
|
Провайдер
|
Поставщик услуг, в пользу которого оператор осуществляет зачисление средств (проводит платеж).
|
Плательщик
|
Непосредственный пользователь системы, желающий оплатить услуги, предоставляемые провайдером (провайдерами) через систему.
|
Платежная информация
|
Данные необходимые для зачисления денежных средств на лицевой счет плательщика в учетной системе провайдера (сумма, провайдер, номер телефона/договора и т.п.), вводится оператором, предоставляется плательщиком.
|
XML клиент
|
Программное обеспечение на стороне дилера работающая с системой X-plat, через XML-шлюз.
|
Дата
|
Версия
|
Описание
|
Автор
|
2008-05-13
|
1.0
|
Первоначальная версия
|
Тагиров Артур
|
2008-05-15
|
1.1
|
Ограничения по IP, анализ уровней безопасности, проверка по сертификатам
|
Сировец Виталий
|
2008-06-13
|
1.2
|
Добавление описания DebitAmount в PaymentStatus
|
Тагиров Артур
|
2008-09-16
|
1.3
|
Примеры XML запросов.
Новые команды XML шлюза: balanceCommand, operatorCommand, providersCommand, commissionsCommand
|
Тагиров Артур
|
2009-03-19
|
1.4
|
Добавлены примеры некоторых запросов в разделе «Проведение платежей». Добавлен новый раздел «Работа с пинами»
|
Тагиров Артур
|
2009-04-01
|
1.5
|
Идентификатор платежа теперь имеет тип long, а не int (свойство id у PaymentInfo и PaymentStatus).
В PaymentStatus появилось новое свойство date, указывающее на дату смены состояния, т.е. дату, когда платеж перешел в указанное состояние.
В список провайдеров добавлено новое свойство max_amount у провайдера, указывающее на максимально доступную сумму платежа по провайдеру.
В Comission добавлено 2 новых свойства: xplat_percent и xplat_min.
|
Тагиров Артур
|
2009-12-08
|
1.6
|
Добавление команды ratesCommand и ее описания.
|
Тагиров Артур
|
2011-08-24
|
1.7
|
Добавлено описание поля user_amount у платежа.
Добавлено описание parameters у статуса платежа. На данный момент только формат.
Убрано описание асинхронных вызовов, а именно параметры async для команд pay и check, в том числе в подписи. На данный момент для достижения аналогичного эффекта можно посылать комаду check/pay безе дополнительных атрибутов (timeout по умолчанию равен 0)
Убрано описание атрибута pt_id в registeredPayment. Основной сценарий предполагает, что этот атрибут не будет передаваться по шлюзу.
Убрано описание старой пиновой схемы, от которой мы отказались (описание новое пока еще не включено).
Из описания метода получения провайдеров – удалены атрибуты для получения картинок\диапозонов и комиссий. Для получения комиссий есть отдельный метод. Проблема с картинками и диапазонами номеров лежит за пределами шлюза.
|
Тагиров Артур
|