Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Image Added

Оглавление

1 Проблематика

Если вы не нашли в списке доступных к подключению ПС, вы можете собственными силами подключить любую другую ПС, используя протокол взаимодействия с сервисами ОпенТрейд Коммерс.

...

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

Сокращения

  • ОпенТрейд Коммерс -система заказов и учета движения средств. Биллинг.
  • Контрагент

...

  • клиент ОпенТрейд Коммерс.
  • Плательщик

...

  • пользователь веб-ресурса Контрагента, совершающий платеж.
  • ПС

...

  • платежная система.

Подключение

Для подключения к данному протоколу необходимо:

3 Общее описание протокола

Image Modified

Диаграмма последовательности взаимодействия всех участников платежа

...

1. Плательщик инициализирует оплату.
2-4. Сайт контрагента запрашивает способы оплаты в ОпенТрейд Коммерс с помощью метода GetPaymentModes и показывает плательщику.

...

6. Сайт Контрагента запрашивает данные системы учета ОпенТрейд Коммерс для инициализации платежа в ПС с помощью метода GetPaymentParameters

7. ОпенТрейд Коммерс передает платежные данные в ответ на вызов метода GetPaymentParameters

Раскрыть
Блок кода
languagehtml/xml
titleПример ответа PaymentFormAnswer
linenumberstrue
<?xml version="1.0" encoding="utf-8"?>
<PaymentFormAnswer>
  <ErrorCode>Ok</ErrorCode>
  <Result>
    <RequestMethod>POST</RequestMethod>
    <RequestUrl>http://example.com/notifytest.js<php</RequestUrl>
    <Parameters>
      <Parameter>
        <Name>paymentId</Name>
        <Value>222</Value>
      </Parameter>
      <Parameter>
        <Name>userId</Name>
        <Value>0000000001</Value>
      </Parameter>
      <Parameter>
        <Name>amount</Name>
        <Value>500.15</Value>
      </Parameter>
      <Parameter>
        <Name>currency</Name>
        <Value>643</Value>
      </Parameter>
      <Parameter>
        <Name>description</Name>
        <Value>Top up the account USR-0000000001 (user 0000000001, payment 222)</Value>
      </Parameter>
    </Parameters>
  </Result>
</PaymentFormAnswer>

где

Параметр
Описание
 
RequestUrlАдрес оповещения сервиса, который используется в шаге 15тестовой страницы, для проверки работы кастомной платежной системы до её отдельной реализации 
RequestMethodСпособ отправки запроса пересылки на адрес оповещениятестовой страницыGET/POST
ParameterПлатежный параметр, являющийся по сути KeyValuePair 
Parameter.NameИмя параметра 
Parameter.ValueЗначение параметра 

Варианты имен параметров (описание см. в 3.3.1):

Имя параметраНеобязательные
orderId+
paymentId 
userId 
amount 
currency 
description 
successUrl 
failUrl 
resultUrl 

8. Контрагент на основе данных, полученных на шаге 7, формирует платежную форму с учетом требований ПС.

...

Раскрыть

Необходимо передать нижеследующие параметры на адрес оповещения RequestUrl методом RequestMethod (получены от оповещения (параметр resultUrl из полученных ОпенТрейд Коммерс на 7 шаге), используя транспорт HTTP.

Параметры (описание см. в 3.3.1):

Имя параметраНеобязательные
instanceKey 
orderId+
paymentId 
userId 
amount 
currency 
status 
signature 

16. ОпенТрейд Коммерс проверяет параметры оповещение. В случае когда все проверки пройдены и статус платежа помечен как Completed - зачисляет средства на счет плательщика.

...