Сценарий оплаты с переадресацией пользователя на платежную форму 6



Дата24.04.2016
өлшемі221 Kb.
#78571
түріСценарий










OOO «Флекси Деньги», 127055, Москва

ул. Образцова, д.7, 5 эт., +7(495) 640-2595



support@flexidengi.ru , www.flexidengi.ru





СЕРВИС ЭЛЕКТРОННЫХ ПЛАТЕЖЕЙ







Платформа Флекси.

Описание протокола взаимодействия

















Содержащаяся в документе информация является конфиденциальной

и не может распространяться без санкции представителя Флекси Деньги





04.05.12



Содержание


Содержание 2

История изменений 3

Введение 4

Цель документа 4

Глоссарий 4

Общее описание 5

Краткое описание сервиса 5

Сценарий оплаты с переадресацией пользователя на платежную форму 6

Сценарий оплаты без переадресации пользователя на платежную форму 7

7


Товары 8

Форма оплаты Флекси 9

Требования к странице оплаты партнера 10

Исходные данные 11

Прием заявок на совершения платежа с переадресацией на платежную страницу 12

Прием заявок на совершения платежа без переадресации на платежную страницу 13

Интрейфейс определения оператора абонента по MSISDN 15

Интерфейс получения списка необходимых дополнительных параметров 16

Реестр Платежей 17

18

Приложение 1. Список идентификаторов Платежных систем 19



Приложение 2. Список кодов ошибок 20

Приложение 3. Список идентификаторов операторов сотовой связи 21





История изменений


Дата




Описание

29.10.2013

1.0

Первая версия документа

Введение

Цель документа


Документ описывает суть сервиса мультиоплаты, механику его оказания и протокол взаимодействия в рамках данного сервиса между платформой Флекси и ИС Партнера.

Глоссарий


Платформа Флекси – программно-аппаратный комплекс для обработки транзакций.

Партнер – информационная система партнера – программно-аппаратный комплекс, используемый Компанией – Партнером для подключения к Платформе Флекси для проведения электронных платежей.

Товар – выделенная единица услуги или продукта, предоставляемая пользователю в результате оплаты.

Сервис – совокупность товаров, предоставляемых Партнером.

Общее описание

Краткое описание сервиса


ФлексиДеньги – это сервис, позволяющий партнеру принимать платежи его клиентов в любой удобной для них форме, через единый программный интерфейс платформы Флекси деньги.

Сценарий оплаты с переадресацией пользователя на платежную форму




  1. Пользователь желает совершить платеж на ресурсе партнера;

  2. Партнер направляет пользователя на страницу платежной формы платформы Флекси с передачей необходимых параметров согласно главе «Прием заявок на совершения платежа с переадресацией на платежную страницу»;

  3. Платформа Флекси отображает на платежной форме необходимую информацию пользователю и просит указать недостающие необходимые данные(выбор продукта, платежной системы, ввод MSISDN или email) и оформляет заявку на совершения платежа в выбранной партнером/пользователем платежной системе;

  4. Пользователь получает от платформы Флекси необходимые инструкции по совершению платежа.

  5. Пользователь производит необходимые действия по соверщению платежа(оформляет платеж на ресурсе платежной системы, отвечает на смс, выполняет внесение средств через терминал оплаты и др.)

  6. Платежная система регистрирует факт оплаты/не оплаты. В случае оплаты через web ресурс платежной системы, пользователь будет возращен на URL сервиса партнера указанный в исходных данных.

  7. Платежная система уведомляет платформу Флекси о совершении платежа.

  8. Платформа Флекси уведомляет платформу партнера по URL для уведомлений о факте соверщения/не соверщения платежа.

Сценарий оплаты без переадресации пользователя на платежную форму




  1. Пользователь желает совершить платеж на ресурсе партнера. Партнер отображает необходимую информацию(условия и ограничения выполнения платежа) пользователю, форму выбора платежных методов и товаров, если необходимо, на данном этапе партнер может запросить дополнительную информацию со стороны платформы Флекси, например список дополнительных полей, необходимых к передаче на шаге 2 или определить оператора по номеру MSISDN в случае желания оплатить товар по средством Мобильной комерции.

  2. Партнер выполняет отправку данных согласно главе «Прием заявок на совершения платежа без переадресации на платежную страницу»

  3. Платформа Флекси выполняет необходимые действия по оформлению платежа.

  4. Платформа Флекси возвращает Партнеру ответ с результатом оформления платежа.

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

  6. Пользователь производит необходимые действия по соверщению платежа(оформляет платеж на ресурсе платежной системы, отвечает на смс, выполняет внесение средств через терминал оплаты и др.)

  7. Платежная система регистрирует факт оплаты/не оплаты. В случае оплаты через web ресурс платежной системы, пользователь будет возращен на URL сервиса партнера указанный в исходных данных.

  8. Платежная система уведомляет платформу Флекси о совершении платежа.

  9. Платформа Флекси уведомляет платформу партнера по URL для уведомлений о факте соверщения/не соверщения платежа.

Товары


Платформа Флекси поддерживает несколько разновидностей товаров:

  1. Товар с нефиксированной стоимостью. В данном случае стоимость определяется либо партнером при подаче заявки на платеж, либо пользователем на форме оплаты, если Партнер не передал стоимость. Также этот тип товара является товаром по умолчанию, для работы с ним, партнеру не обязательно передавать product_id при оформлении платежа.

  2. Товар с фиксирвоанной стоимостью. В данном случае, стоимость и валюта товара изначально указана на платформе Флекси, еще не могут переназначить ни партнер, ни пользователь.

  3. Пачка товаров с фиксированной стоимостью. В данном случае, этот товар представляет собой набор товаров с фиксированной стоимостью. Пример использования данного типа товара:

    1. Партнер направляя пользователя на форму оплаты флекси, передает в заявке идентификатор товара-пачки.

    2. Платформа Флекси дает выбрать пользователю один товар из пачки, например:

      • 5 кристаллов за 30 рублей

      • 10 кристаллов за 55 рублей

      • 15 кристаллов за 75 рублей

Партнер может использовать любой тип товара на своё усмотрение.

Форма оплаты Флекси


Форма оплаты Флекси представляет собой платежную страницу, где пользователь видит информацию о совершаемом платеже, может выбрать один из доступных платежных методов, ввести дополнительную информацию для совершения платежа, а также выбрать товар из списка в случае, если партнер оформил заявку на пачку товаров или указать сумму и/или валюту платежа, если партнер эту информацию не передал в заявке на товар с нефиксированной стоимостью.
Партнер может передать в заявке идентификатор метода платежа6 чтобы пользователь сразу попал на шаг оплаты выбранным методом платежа(например на страницу ввода MSISDN если это платеж через МК).

Требования к странице оплаты партнера


Требования к странице оплаты доступны по адресу: http://flexidengi.ru/req/index.html

Протокол взаимодействия


Исходные данные


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

  • URL для уведомлений о проведенных платежей.

  • URL сервиса партнера на который возвращается абонент после успешного проведения платежа.

  • URL сервиса партнера на который возвращается абонент после неудачного проведения платежа

  • E-mail на который будут отсылаться реестры платежей.

Со стороны платформы Флекси партнеру выдаются:



  • Идентификаторы сервисов и товаров партнера.

  • Секретное клово.

  • URL платежной страницы: https://pay.flexidengi.ru/

  • URL для заявок без переадресации: http://payments.flexidengi.ru/noform/

  • URL интерфейса определения оператора по MSISDN: http://payments.flexidengi.ru/operator/

  • URL интерфейса получения списка дополнительных параметров:

    http://payments.flexidengi.ru/params/

Прием заявок на совершения платежа с переадресацией на платежную страницу


Для совершения платежа пользователем, партнёру необходимо направить пользователя на страницу оплаты методом POST с передачей следующих параметров:

Обязательные параметры:

Параметр

Описание

service_id  

Идентификатор сервиса партнера

order_id    

Идентификатор заказа на стороне партнера

customer_id

Идентификатор пользователя на стороне партнера

(email, MSISDN или логин)



hash        

Контрольная сумма. Высчитывается как md5(service_id+customer_id+order_id+product_id+ summ+currency+count+payment_method_id+ secret_key),

где “+”- знак конкатенации, “secret_key” - секретный ключ, выдаваемый при регистрации партнера.

Если необязательный параметр не передается, то он не участвует в расчете хеша.



Необязательные параметры:

Параметр

Описание

product_id

Идентификатор товара на платформе. Если не указан - будет отображен список всех продуктов на сервисе;

summ      

Сумма платежа, обязательный только для товаров с не фиксированной стоимостью

currency  

Валюта, обязательна, в случае если указана сумма. Ожидается трехбуквенный ISO 4217 код валюты

count      

Количество единиц товаров.

payment_method_id

Идентификатор платежной системы со стороны платформы см. Приложение 1

После проведения платежа абонент будет возвращен на страницу сервиса партнера.

Прием заявок на совершения платежа без переадресации на платежную страницу


Для некоторых платежных систем, например QIWI или Мобильная коммерция, партнер может не перенаправлять пользователя на платежную форму, при этом он сам отображает оферту, текст оферты можно получить у менеджера.

Для совершения платежа пользователем, партнёру необходимо послать запрос на оплату методом GET с передачей следующих параметров:



Обязательные параметры:

Параметр

Описание

service_id  

Идентификатор сервиса партнера, обязательный

customer_id

Идентификатор пользователя, обязательный

order_id    

Идентификатор заказа у партнера, обязательный

product_id

Идентификатор товара на платформе. Если не указан - будет отображен список всех продуктов на сервисе;

payment_method_id

Идентификатор платежной системы со стороны платформы см. Приложение 1

hash        

Контрольная сумма. Высчитывается как md5(service_id+customer_id+order_id+product_id+ summ+currency+count+payment_method_id+ secret_key),

где “+”- знак конкатенации, “secret_key” - секретный ключ, выдаваемый при регистрации партнера.

Если необязательный параметр не передается, то он не участвует в расчете хеша.



Необязательные параметры:

Параметр

Описание

summ      

Сумма платежа, обязательный только для товаров с не фиксированной стоимостью

currency  

Валюта, обязательна, в случае если указана сумма. Ожидается трехбуквенный ISO 4217 код валюты

count      

Количество единиц товаров, в случае если товар исчисляемый.


Дополнительные параметры обязательные в зависимости от метода оплаты:

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



Параметр

Описание

msisdn

Обязателен в случае оплаты через QIWI или Мобильную коммерцию - это номер мобильного телефона в международном формате без +

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:



Параметр

Описание

processing_status

Статус принятия платежа

error_code

В случае неудачи, указывается код ошибки, см. Приложение 2

location

В случае REDIRECT, указывается URL на который необходимо перенаправить пользователя.

transaction_id

В случае успеха, номер транзакции на стороне платформы, целое число, до 20 знаков.

Поле processing_status может принимать следующие строковые значения:




Значение

Описание

ACCEPTED

Заявка принята, ожидаются действия пользователя по совершению платежа.

REDIRECT

Для продолжения оформления заявки необходимо направить пользователя на указанный URL

DENIED

Заявка не принята, причина будет указана в коде ошибки error_code

Пример тела успешного ответа:



{

“transaction_id”: “123456”,


“processing_status”: “ACCEPTED”,

“error_code”: “0”

}


Пример тела неуспешного ответа:

{
“processing_status”: “DENIED”,

“error_code”: “51”

}




Интрейфейс определения оператора абонента по MSISDN


В случаях, когда партнёру необходимо узнать опретора абонента по MSISDN, он может воспользоваться этим интерфейсом.

Для этого, партнёру необходимо послать запрос методом GET с передачей следующих параметров:



Обязательные параметры:

Параметр

Описание

service_id  

Идентификатор сервиса партнера, обязательный

secret

Серретный ключ партнера

msisdn

Номер мобильного телефона в международном формате без +

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:



Параметр

Описание

operator_name

Алиас оператора латинскими буквами

Пример тела успешного ответа:



{

“operator_name”:”beeline”

}

В случае неверно заданных параметров, будет выдан ответ HTTP – 400

В случае некорректного secret, будет выдан ответ HTTP – 401

Расшифровка идентификаторов операторов указана в Приложении 3.


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


Если партнер желает на своей стороне отображать форму с вводом дополнительных параметров (email для оплаты через кошелек или MSISDN для оплаты через QIWI/МК), он может запросить список необходимых дополнительных параметров для нужного метода платежа.
Данный интерфейс предназначен для универсализации работы партнера с платформой Флекси, когда при добалвении/изменении платежных методов у Партнера, ему необхоидмо производить минимум изменений на своей платформе.
Для этого, партнёру необходимо послать запрос методом GET с передачей следующих параметров:

Обязательные параметры:

Параметр

Описание

service_id  

Идентификатор сервиса партнера, обязательный

secret

Серретный ключ партнера

payment_method_id

Идентификатор платежной системы со стороны платформы см. Приложение 1

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:

Параметр

Описание

params

Массив с объектами, представляющих собой описание дополнительного параметра, поля которого:

  • name - имя поля, которое необходимо передавать на платформу Флекси в заявке;

  • desc – Описание поля, которое партнер может показывать абоненту в форме ввода;

  • regexp – регулярное выражение, описывающее формат этого параметра.

Пример тела успешного ответа:



{

“params”: [

{

“name”:“msisdn”,



“desc”: ”Номер мобильного телефона”,

“regexp”: “^\d{1,15}$”

}

]

}


В случае неверно заданных параметров, будет выдан ответ HTTP – 400

В случае некорректного secret, будет выдан ответ HTTP – 401

Уведомление Партнера о совершенных платежах

После проведения платежа или его неудачи платформа отсылает HTTP GET запрос на URL партнёра для уведомлений, возможно использование SSL при желании партнера.

Запрос отсылаемый партнеру содержит следующие параметры с информацией о транзакции:



Параметр

Описание

service_id  

Идентификатор сервиса партнера

customer_id

Идентификатор пользователя

order_id    

Идентификатор заказа у партнера

processing_status

Статус обработки транзакции

error_сode

Код ошибки, если возникла ошибка, см. Приложение 2

price

Сумма транзакции в валюте поступления, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

price_rub

Сумма транзакции в рублях, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

currency

Валюта поступления на счет партнера, ISO 4217

share

Вознаграждение партнера в валюте платежа

share_rub

Вознаграждение партнера в рублях

transaction_date

Дата проведения транзакции на стороне платформы в формате YYYY-MM-DD HH:mm:ss

transaction_id

Номер транзакции на стороне платформы, целое число, до 20 знаков.

product_id

Идентификатор продукта

hash

md5 от конкатенации полей: service_id+transaction_id+customer_id+order_id+ processing_status+price+price_rub+currency+share +share_rub+ transaction_date+payment_method_id+product_id+secret_key

payment_method_id

Идентификатор способа оплаты см. Приложение 1

Поле processing_status может принимать следующие строковые значения:




Значение

Описание

PROCESSED

Транзакция успешно оплачена пользователем

FAILED

Транзакция не оплачена пользователем, в полях error_code и desc дается в этом случае описание причины ошибки

Реестр Платежей


Платформа производит регулярное формирование реестров проведенных платежей и отсылает их партнеру на указанный им e-mail.

Формат файла – текстовый файл с разделителями, разделитель полей ‘;’, строк символ переноса строки.



  • REE_NNNNNN_DDMMYY_QQ.csv, где:

  • NNNNNN – Идентификатор партнера на стороне платформы,

  • DDMMYY – дата отчета,

  • QQ – порядковый номер внутри дня, если отчетов несколько.

Файл содержит данные в кодировке UTF-8.

Каждая строка представляет собой отдельный перевод и содержит следующие поля:



Название столбца

Описание

transaction_id

Номер транзакции на стороне платформы, целое число, до 20 знаков.

transaction_date

Дата и время совершения платежа в формате ‘dd.MM.yyyy HH:mm:ss’

price_rub

Сумма платежа, два знака в дробной части, разделитель дробной части ‘.’

desc

Примечание к платежу

transaction_daily_id

Номер транзакции в течении дня на стороне платформы, целое число, до 20 знаков.

order_id

Номер счета, указанный партнером при его выставлении

Следует заметить, что платформа может добавлять колонки к уже существующим (не нарушая порядок) без предварительного уведомления партнера.




Приложение 1. Список идентификаторов Платежных систем


Идентификатор ПС

Название

38

WebMoney WMR

44

QIWI

45

Тестовый(возвращает произвольный статус оплаты, не передается в реестрах)

60

Мобильная коммерция

61

Банковские карты VISA / VISA Electron / MasterCard / Maestro

Приложение 2. Список кодов ошибок


Код ошибки

Описание

0

Ошибки отсутсвуют

1

Неверное значение параметра hash

3

Некорректный запрос, отсутствует ряд обязательных параметров.

4

Внутрення ошибка, необходимо обратиться в техническую поддержку платформы Флекси.

5

Заявка на платеж не может быть принята

51

Заявка на платеж не может быть принята из-за некорректного идентификатора пользователя(например некорректный MSISDN при оплате через QIWI/МК)

52

Данный оператор временно не доступен(при оплате через МК)

6

Данный метод оплаты невозможно оплачивать без перенаправления пользователя на платежную форму платформы Флекси.

7

Некорректная сумма платежа

71

Сумма платежа превышает допустимую сумму

72

Сумма платежа слишком маленькая



Приложение 3. Список идентификаторов операторов сотовой связи


Название

Алиас

МТС

mts

БиЛайн

beeline

МегаФон

megafon

Utel

utel

Оператор не известен

unknown




Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет