Редакция утверждена Правлением ООО нко «Яндекс. Деньги»


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



страница5/8
Дата17.11.2018
Размер1.15 Mb.
ТипПротокол
1   2   3   4   5   6   7   8

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

action;orderSumAmount;orderSumCurrencyPaycash;orderSumBankPaycash;shopID;invoiceId;customerNumber;shopPassword

Пример:

Строка (без переносов)

Результат

checkOrder;87.10;643;1001;13;55;8123294469;s

1B35ABE38AA54F2931B0C58646FD1321



  1. Операции протокола

4.1 Проверка заказа (сheckOrder)

Запрос проверки возможности выдачи плательщику заказа с конкретными параметрами.

В случае успешного ответа Контрагента Оператор уменьшает остаток электронных денежных средств плательщика и при успешном осуществлении перевода отправляет Контрагенту «Уведомление о переводе».

Контрагент может отказаться принимать перевод, в этом случае остаток электронных денежных средств плательщика не уменьшается.

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

Контрагенту следует проверять параметры уведомления об оплате (paymentAviso, см. ниже), чтобы убедиться, что фактический перевод совершен с требуемыми Контрагентом параметрами.

Таблица 4.1. Коды ответа ИС Контрагента (поле code)


0

Успешно

Контрагент дал согласие и готов принять перевод.

Оператор уменьшает остаток электронных денежных средств плательщика и, в случае успеха, отправляет «Уведомление о переводе» (paymentAviso).



1

Ошибка авторизации

Несовпадение подписи (или хеша), неверный ключ подписи. Оператор считает ошибку окончательной и не будет осуществлять перевод.

2

Успех с изменением контракта на оплату.

Успех. Согласие принять перевод с параметрами, указанными Контрагентом. Оператор уменьшает остаток электронных денежных средств плательщика и, в случае успеха, отправляет «Уведомление о переводе» (paymentAviso).

100

Отказ в приеме перевода

Отказ в приеме перевода с заданными параметрами. Оператор считает ошибку окончательной и не будет осуществлять перевод.

200

Ошибка разбора запроса

ИС Контрагента не в состоянии разобрать запрос. Оператор считает ошибку окончательной и не будет осуществлять перевод.

1000

Техническая ошибка

Временная техническая проблема ИС.

Оператор считает ошибку окончательной и не будет осуществлять перевод.



Пример запроса в формате NVP/MD5

requestDatetime

2011-05-04T20:38:00.000+04:00

action

checkOrder

md5

8256D2A032A35709EAF156270C9EFE2E

shopID

shopArticleId

13

456

invoiceId

1234567

customerNumber

8123294469

orderCreatedDatetime

2011-05-04T20:38:00.000+04:00

orderSumAmount

87.10

orderSumCurrencyPaycash

643

orderSumBankPaycash

1001

shopSumAmount

86.23

shopSumCurrencyPaycash

643

shopSumBankPaycash

1001

paymentPayerCode

42007148320

paymentType

AC

MyField

Добавленное Контрагентом поле



Пример запроса в формате XML/PKCS#7




requestDatetime="2011-05-04T20:38:00.000+04:00" invoiceId="1234567"

shopId="13" shopArticleId="1101"

customerNumber="№1-abcd/2010"

orderCreatedDatetime="2011-05-04T20:38:00.000+04:00"

paymentPayerCode="410011234567"

orderSumAmount="1000.00"

orderSumCurrencyPaycash="643" orderSumBankPaycash="1001"

shopSumAmount="990.00"

shopSumCurrencyPaycash="643" shopSumBankPaycash="1001"

paymentType="AC">

Добавленное Контрагентом поле"/>




Пример ответа ИС: «Проверка заказа» на стороне ИС успешно обработана, Контрагент дал согласие и готов принять перевод.





code="0" invoiceId="1234567"

shopID="13"/>


Пример ответа ИС: «Проверка заказа» на стороне ИС успешно обработана, Контрагент дал согласие на прием перевода, а также изменил сумму к оплате.



code="2" invoiceId="1234567"

shopID="13" orderSumAmount="123.45"/>


Пример: ИС отказала в приеме перевода на этапе проверки корректности заказа, Оператор не будет принимать перевод у плательщика.



code="100" invoiceId="1234567"

shopID="13"

message="Указанный номер телефона не существует"

techMessage="Неверный номер телефона"/>


4.2 Уведомление о переводе (paymentAviso)

Уведомление Контрагента о принятом переводе.

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

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

Таблица 4.2. Коды ответа ИС Контрагента (поле code)


0

Успешно

Успешно. Даже в том случае, если Оператор прислал «Уведомление о переводе» (paymentAviso) повторно.

1

Ошибка авторизации

Несовпадение подписи (или хеша), неверный ключ подписи. Оператор не будет повторять этот запрос и пометит заказ: «Уведомление Контрагенту не доставлено».

200

Ошибка разбора запроса

ИС Контрагента не в состоянии разобрать запрос. Оператор не будет повторять этот запрос и пометит заказ: «Уведомление Контрагенту не доставлено».

1000

Техническая ошибка

Временная техническая проблема ИС.

Оператор будет повторять этот запрос.



Пример запроса в формате NVP/MD5

requestDatetime

2011-05-04T20:38:00.000+04:00

action

paymentAviso

md5

45125C95A20A7F25B63D58EA304AFED2

shopID

shopArticleId

13

456

invoiceId

1234567

customerNumber

8123294469

orderCreatedDatetime

2011-05-04T20:38:00.000+04:00

orderSumAmount

87.10

orderSumCurrencyPaycash

643

orderSumBankPaycash

1001

shopSumAmount

86.23

shopSumCurrencyPaycash

643

shopSumBankPaycash

1001

paymentDatetime

2011-05-04T20:38:10.000+04:00

paymentPayerCode

paymentType

42007148320

AC

MyField

Добавленное Контрагентом поле



Пример запроса в формате XML/PKCS#7





requestDatetime="2011-05-04T20:38:00.000+04:00" invoiceId="1234567"

shopID="1018" shopArticleId="1101"

customerNumber="№1-abcd/2010" orderCreatedDatetime="2011-05-04T20:38:00.000+04:00"

paymentPayerCode="410011234567"

orderSumAmount="1000.00"

orderSumCurrencyPaycash="643" orderSumBankPaycash="1001"

shopSumAmount="990.00"

shopSumCurrencyPaycash="643" shopSumBankPaycash="1001"

paymentDatetime="2011-05-04T20:38:10.000+04:00"

paymentType="AC">


Добавленное Контрагентом поле"/>



Пример ответа ИС — успешная обработка «Уведомления о переводе» на стороне ИС.






performedDatetime ="2011-05-04T20:38:11.000+04:00"

code="0" invoiceId="1234567"

shopId="13"/>


  1. Правила обработки запросов Оператора Контрагентом



  1. ИС Контрагента должна обеспечить время ответа на запросы Оператора не более 10 секунд.

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

  3. При длительном многократном отсутствии ответа Контрагента на запросы «Уведомление о переводе», либо при многократных технических ошибках ИС Контрагента Оператор будет повторять попытки доставки уведомления (первый раз через минуту, потом еще до пяти раз с интервалом 5–30 минут), после чего назначит переводу окончательно неуспешный статус.

  4. Каждому переводу Оператор присваивает уникальный номер (invoiceId). Контрагент должен быть готов к тому, что запрос «Уведомление о переводе» для одного и того же заказа может приходить неоднократно (из-за проблем со связью или ошибок в ответе ИС Контрагента на этот запрос). На повторные уведомления ИС Контрагента должна отвечать «Успешно обработано». Контрагент должен контролировать параметр invoiceId и не допускать обработки множества различных заказов с одинаковым invoiceId.


Вариант 2 Приложения № 2
Протокол обмена информацией при осуществлении переводов.
Email-уведомления.


Версия 2.01

от 06.08.2012

Общие сведения

Оператор предоставляет пакет протоколов, позволяющих Контрагенту получать уведомления о принятых в его пользу переводах. Обрабатывая эти уведомления в своей информационной системе (ИС), Контрагент может сократить время между переводом и предоставлением физическому лицу оплаченной услуги или товара.

Далее приводится описание взаимодействия между Оператором и Контрагентом с помощью email-уведомлений.

Взаимодействие Оператора и Контрагента

На веб-странице, где физическое лицо может инициировать перевод, Контрагент должен расположить «платежную форму» с данными, характеризующими покупку (сумма перевода, ID Контрагента и пр.). Платежная форма в минимальном варианте представляет собой статический HTML, возможно, с заполняемыми физическим лицом плательщиком полями. Например, для пополнения счета в онлайн-игре это могут быть «номер игрового счета» и «сумма».

Упрощенно можно считать, что интернет-браузер физического лица передает заполненную форму Оператору. Реальный способ передачи всегда подразумевает шифрование передаваемых данных.

После того, как физическое лицо получит запрос на перевод («Контракт») от Оператора и подтвердит перевод, Оператор уменьшает остаток электронных денежных средств физического лица и физическое лицо получает от Оператора веб-страницу (интерфейс портала Яндекс.Денег), где говорится об успехе или неуспехе перевода.

Оператор отправляет Контрагенту «Уведомление о переводе» (email).

Раз в сутки Оператор отправляет Контрагенту список переводов («реестр», отправляется на email). Контрагент должен сверять реестр с полученными им «Уведомлениями о переводе». Формат реестра описан в отдельном документе.

Платежная форма

Платежная форма определяет параметры заказа, а ее отправка инициирует формирование и обработку распоряжения на перевод.

Параметры платежной формы могут быть двух типов:



  • служебные значения этих параметров Контрагент получает в процессе подключения к Оператору;

  • пользовательские определяемые самим Контрагентом и позволяющие ему в дальнейшем опознавать переводы.

Следует учитывать, что все поля платежной формы видны физическому лицу и могут быть модифицированы недобросовестным физическим лицом.
Это не всегда является проблемой. Например, если в платежной форме указаны «номер игрового счета» и «сумма», то ИС зачислит на указанный счет уплаченную физическим лицом сумму. Как бы физическое лицо ни модифицировало платежную форму, оно не сможет сделать это в ущерб Контрагенту.
Но, например, если в платежной форме указывается код заказа и сумма, то недобросовестное физическое лицо может оставить неизменным код, а сумму изменить, скажем, с 30 000 на 30.
Поэтому, в зависимости от специфики Контрагента, ИС следует осуществлять проверки после перевода (скажем, если уплачено меньше стоимости заказа, то следует не отгружать товар, а требовать доплаты).

Таблица 1. Поля платежной формы

Название

Содержание

Обязательное

поле

ShopID

Номер контрагента, присвоенный Оператором.

Да

scid

Номер витрины Контрагента, присвоенный Оператором.

Да

Sum

Сумма заказа (десятичный разделитель точка, разделители тысяч недопустимы).

Да

customerNumber

Идентификатор физического лица, любая строка не более 64 символов.

Номер мобильного телефона, договора и т.п., специфично для Контрагента.



Нет


orderNumber

Уникальный для данного shopID номер заказа в ИС Контрагента.

Нет

cps_provider

Детали способа совершения платежа.

Используется для платежей через терминал paymentType = “GP”

cps_email

Адрес электронной почты плательщика.

Нет

cps_phone

Номер мобильного телефона плательщика.

Нет

paymentType

Способ, которым должен быть совершен платеж. Возможные значения:

PC — платеж со счета в Яндекс.Деньгах.

AC — платеж с банковской карты.

GP — платеж по коду через терминал.

MC — оплата со счета мобильного телефона.

Список возможных значений может быть расширен.



Нет. Если параметр отсутствует, платеж будет совершаться по умолчанию со счета пользователя в Яндекс.Деньгах

Настройки Контрагента

Для начала работы Контрагент должен определить и предоставить Оператору описанные ниже параметры:

Таблица 2. Параметры Контрагента


Название

Содержание

shopName

Название Контрагента, отображается в контракте на оплату.

listEmail

Email, на который отправляются уведомления о переводе.

listEmailRegistry

Email, на который ежедневно отправляются реестры переводов за предыдущие сутки.

listParam

Список пользовательских полей, которые контрагент будет использовать на платежной форме помимо обязательных полей (см. Таблицу 2). Вид: название поля [текст для отображения]. Например: custName [ФИО плательщика], custAddr [адрес доставки].




Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница