API onlineMerchant-NOCART

Интерфейс приема платежей, когда необходимо получить оплату по сформированному заказу, при этом сумма не может быть изменена плательщиком в процессе оплаты. Выбор способа оплаты осуществляется на стороне PAYSTO или на стороне Вашего сайта, при использовании интерфейса API "Общее".
Интерфейс оптимизирован для продажи единичных товаров (одна позиция в заказе), а также для "пополнение баланса в системе" с формированием суммы платежа на стороне проекта.
Для магазинов с большим ассортиментом товаров рекомендуется использовать интерфейс FULLCART.

Основные характеристики шлюза NOCART:

  1. Данные заказа не транслируются в шлюз;
  2. Комментарий для платежа передается магазином,а при отсутствии берется из настроек магазина (кабинет PAYSTO)
  3. Может быть реализован выбор способа оплаты на стороне магазина;
  4. Отсутствует необходимость регистрации плательщика перед оплатой;
  5. Сквозной процесс оплаты - прямой редирект в шлюз платежной системы (банка) при выборе способа оплаты на стороне Вашего сайта.
Любые работы по подключению приема платежей на Вашем сайте могут быть выполнены только специалистами с соответствующими знаниями в области программирования. Проведение работ на сайте без соответствующей подготовки могут вызвать нарушения работы Вашего сайта или веб-системы, полную или частичную потерю любых данных. Перед началом проведения работ рекомендуется выполнить архивацию (back-up) всех данных Вашего сайта/веб-системы, включая данные исполняемых файлов/скриптов. Любые работы с Вашим сайтом Вы производите на собственный страх и риск. Paysto не несет ответственность за любые повреждения или нарушения в работе Вашего сайта, а также утрату данных. Техническая поддержка по работе интерфейсов Paysto может быть оказана только в части взаимодействия на стороне Paysto.

 

Все интерфейсы OnlineMerchant
Демонстрация работы интерфейса NOCART
 

Оглавление

  1. Введение
    1. Назначение
    2. Описание
    3. Термины и понятия
  2. Упрощенная схема оплаты счета магазина.
    1. Легенда
    2. Порядок шагов при успешной оплате
  3. Типы передаваемых данных
  4. Обеспечение безопасности
    1. Запросы
    2. Ответы onlineMerchant
    3. Адреса отвечающих серверов
  5. Запросы для осуществления платежа
    1. Запрос на оплату счета
    2. Проверка информации о платеже
    3. Сведения об оплате
    4. Возвращение Покупателя в Магазин
  6. Сведения о платежах
    1. Выписка за период
    2. Сведения об отправленном на оплату счете
  7. Состояние счета
    1. Проверка баланса
  8. Аппендикс
    1. Данные получаемые из интерфейса Клиентского Кабинета

 
1. Введение    

1.1. Назначение

onlineMerchant —программный комплекс, который позволяет автоматизировать процесс оплаты счетов в Интернете, выставленных Вашим интернет-магазином.

1.2. Описание

onlineMerchant был специально разработан для решения вопросов сбора и обработки платежей по выставленным счетам. С помощью данного инструмента Вы сможете быстро, без лишних временных и финансовых затрат организовать прием платежей в Вашей системе. Вашим пользователям будут доступны все самые современные способы оплаты, включая оплату банковскими картами, электронными валютами, SMS-платежами, оплатой через терминал и т.д. Полный список доступных валют представлен здесь. Подключая один платежный шлюз, Вы получаете все способы оплаты - это, несомненно, будет удобно Вашим пользователям. onlineMerchant доступен во всех валютах поддерживаемых PAYSTO. Конвертация платежей осуществляется по внутреннему курсу PAYSTO.

1.3. Термины и понятия

Термин Описание
Получатель Клиент, в пользу которого идет зачисление средств
Плательщик Лицо, осуществляющее платеж
Магазин Информационная система Получателя. Например, корзина Плательщика на сайте Получателя и система биллинга Получателя.

 

 

2. Упрощенная схема оплаты счета магазина    

[image]

2.1. Легенда

  • Красные стрелки – переходы Плательщика;
  • Зеленые стрелки – запросы между PAYSTO и Магазином;
  • Сплошные – обязательные;
  • Точечные – опционально.

2.2. Порядок шагов при успешной оплате.

  • Красная 1 – Пользователь отсылает форму оплаты в PAYSTO;
  • Зеленая 1, Зеленая 2 - PAYSTO запрашивает у Магазина подтверждение на прием денег;
  • Красная 2, Красная 3 – при необходимости пользователь отправляется в мерчант платежной системы;
  • Зеленая 3 – PAYSTO оповещает Магазин об оплате;
  • Красная 4 – Пользователь возвращается в Магазин;
  • Зеленая 4 – При необходимости Магазин запрашивает статус счета в PAYSTO.

 

3. Типы передаваемых данных    

Название Описание Диапазон значений
Целое Целое От 0 до 2147483647
Длинное целое Длинное целое От 0 до 4294967296
Денежное Вещественное, разделитель целой и дробной части «.» (точка), разделителя разрядов нет, дробная часть с точностью до сотых. Наличие точки и двух цифр после нее – обязательно. Например, 10 должно быть записано как 10.00, 10.123 должно быть записано как 11.12 или 11.13 от 0.01 до 1000000.00
Строка Строка. Не может содержать символ «=» (равно) и символ «&» (амперсанд). Для каждого параметра длина определяется отдельно.
Дата время Всемирное координированное время (UTC). Представлено в формате yyyymmddhhnn где y – цифры для обозначения года, m – месяца, d – дня месяца, h – часа (hh – число от 0 до 23) n – минут. Например, 15 января 2010 17:04 201001151704 От 201001010000 до 205012312359
MD5 Строка, представляющая собой 32-разрядное число в 16-ричной форме и в верхнем регистре (всего 32 символа 0-9, A-F).   Алгоритм создания подписи данных. Пары Название-Значение всех параметров запроса (кроме PAYSTO_MD5) сортируются по Названию в алфавитном прямом порядке регистронезависимо. Название-Значения склеиваются в строку «Название=Значение&», полученные строки склеиваются в порядке установленном в п1. В конец полученной строки приклеивается значение секретного ключа (указывается при регистрации магазина). Например, должно получиться «Название1=Значение1& Название2=Значение2&СекретныйКлюч» Если в кабинете включен «Режим совместимости md5», то из полученной строки удаляются все символы, зависящие от кодировок, т.е. удовлетворяющие регулярному выражению, указанному на странице настройки магазина. Вычисляется MD5 полученной в п3 строки в UTF8. Результат из п4 записывается строкой и переводится в верхний регистр.  
Статус заявки Код статуса заявки. Возможные значения RES_BILLED – заявка отправлена на оплату, RES_CANCEL - покупатель отказался от покупки, RES_CREATED – заявка зарегистрирована, RES_ERROR - при платеже произошли ошибки, RES_HOLD - заявка приостановлена; RES_PAID - оплата состоялась, Смотри колонку «Описание».

 

4. Обеспечение безопасности    

4.1. Запросы

  1. Проверяется IP источника запроса (onlineMerchant проверяет опционально, если IP ИС указан в настройках кабинета).
  2. Подпись MD5 (обязательно).
  3. Счетчик запроса, делает невозможным получить ответ с данными при повторе запроса без увеличения номера и пересчета подписи (опционально, если указан). Обращаем внимание, текущие значения счетчика от ИС и от onlineMerchant разные. Настоятельно рекомендуется для запросов GET, особенно если возможны запросы, где остальные параметры не меняются (например, при запросе баланса).

4.2. Ответы onlineMerchant

Проверяйте SSL сертификат ответившего сервера.

4.3. Адреса отвечающих серверов

IP-адрес сервера
23.102.21.72
137.135.207.41
23.102.17.162
168.61.92.150

 

5. Запросы для осуществления платежа    

5.1. Запрос на оплату счета

Данный шаг начинает процедуру оплаты выставленного в Магазине счета.

Внимание! Данные этого запроса проходят через компьютер Покупателя и могут быть подделанными недобросовестным Покупателем. Для подтверждения данных используется «Проверка информации о платеже».

Элемент адреса Значение
Протокол https
Метод Post
Путь https://paysto.com/ru/pay
Кодировка UTF8

Параметры

Название Описание Тип Обязательный
PAYSTO_SHOP_ID Id магазина, выдается при регистрации магазина Целое Да
PAYSTO_SUM Требуемая к получению сумма. Сумма должна быть в базовой валюте (которая была указана при регистрации). Денежное Да
PAYSTO_INVOICE_ID Номер счета в магазине (должен быть уникальным для магазина). Если включен «Режим совместимости md5», то не допускается использование символов, зависящих от кодировок. Т.е. удовлетворяющих регулярному выражению, приведенному в настройках магазина. Строка до 50 символов. Да
PAYSTO_DESC Описание покупки (Используется для формирования назначения платежа) Строка до 150 символов. Нет
PAYSTO_CULTURE   Язык интерфейса приема платежей PAYSTO. Формируется - первые 2 символа – язык, далее дефис, далее 2 символа культура. Например, ru-RU, en-US. Если не задан – берется из настроек магазина. Сейчас поддерживается только ru-RU Строка 5 символов. Нет
PAYSTO_TTL Время, до которого следует принять платеж. Если параметр не указан – то 15 календарных дней. Дата время Нет
PAYSTO_CURRENCY_ID ID валюты платежа выбранный пользователем. При передаче этого параметра в форме оплаты будет выбрана указанная валюта. целое Нет
PayerEMail Email плательщика. При передаче этого параметра поле email в форме оплаты будет заполнено, но будет доступно для изменения. Строка до 150 символов. Нет
DeliveryTime Срок доставки товара. Минимальное значение 1. Если параметр не передается, срок будет взят из настроек магазина в кабинете пользователя PAYSTO Целое Нет
Дополнительные параметры продавца Все поля формы, не имеющие в названии префикса “PAYSTO_ ”, обрабатываются сервисом Merchant автоматически и передаются на веб-сайт продавца после выполнения платежа. Запрещено создавать дополнительные параметры с префиксом “PAYSTO_” Название параметра до 50 символов, значение до 500 символов Нет

 

5.2. Проверка информации о платеже    

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

Внимание! Магазин должен при данном запросе проверять IP, с которого пришел запрос (он должен быть IP PAYSTO - узнайте в технической поддержке возможные значения), номер счета и сумму платежа, подпись, а так же состояние в Магазине выставленного счета (существует, оплачен, отменен и т.п.).
Отказ от данных проверок может серьезно ослабить защиту от мошенников.

Элемент адреса Значение
Протокол https
Метод Post
Путь Указывается при регистрации магазина
Кодировка UTF8

Параметры

Название Описание Тип Обязательный
Все параметры из «Запрос на осуществление платежа»     Да
PAYSTO_PAYMENT_ID Номер транзакции в PAYSTO Длинное целое Да
PAYSTO_MD5 Подпись передаваемых данных. Контрольная сумма MD5 MD5 Да
PAYSTO_REQUEST_MODE Значение параметра CHECK строка Да

Значения ответа

HTTP CODE Значение (Content) Описание
200 PAYSTO_INVOICE_ID Счет проверен и подтвержден
200 любой Счет проверен и не подтвержден. Получаемое значение – описание причины
любой любой . Считается, что сервис магазина не доступен и не может выполнить свои обязательства перед покупателем. Счет будет отменен

 

5.3. Сведения об оплате    

Данный шаг оповещает Магазин о результатах оплаты счета.

Внимание! Магазин должен при данном запросе проверять IP, с которого пришел запрос (он должен быть IP PAYSTO - узнайте в технической поддержке возможные значения), номер счета и сумму платежа, подпись, а так же состояние выставленного счета (существует, оплачен, отменен и т.п.).

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

Элемент адреса Значение
Протокол https
Метод Post
Путь Указывается при регистрации магазина
Кодировка UTF8

Параметры

Название Описание Тип Обязательный
Все параметры из «Запрос на осуществление платежа»     Да
PAYSTO_PAYMENT_ID Номер транзакции в PAYSTO Длинное целое Да
PAYSTO_MD5 Подпись передаваемых данных. Контрольная сумма MD5. MD5 Да
PAYSTO_REQUEST_MODE Код статуса заявки. Статус заявки Да

Значения ответа

HTTP CODE Значение (Content) Описание
200 PAYSTO_INVOICE_ID Информация о платеже проверена и подтверждена.
200 любой Информация о платеже проверена и не подтверждена. Получаемое значение – описание причины. Полученные деньги от покупателя будут заблокированы.
любой любой Считается, что сервис магазина не доступен и не может выполнить свои обязательства перед покупателем. Полученные деньги от покупателя будут заблокированы.

 

5.4. Возвращение Покупателя в Магазин    

На данном шаге Покупатель возвращается в Магазин.

Внимание! Данные этого запроса проходят через компьютер Покупателя и могут быть подделанными недобросовестным Покупателем. Поэтому не рекомендуется на страницах Success url и Fail Url устанавливать статус выставленному счету. Используйте для этого Result Url.
Рекомендуем Success url и Fail Url указывать адрес одной и той же страницы, где на основе сохраненных данных при обработке Result url (или, переспросив статус счета в PAYSTO) перенаправлять пользователя на итоговую страницу успешной (не успешной) оплаты. Важно понимать, что данный шаг осуществляется с компьютера Покупателя по истечении некоторого времени с момента перехода Покупателя с Магазина на PAYSTO, поэтому возможно, Магазину потребуется авторизовать Покупателя, для отображения приватных данных.

Элемент адреса Значение
Протокол https
Метод Post
Путь Указывается при регистрации магазина
Кодировка UTF8

Параметры

Название Описание Тип Обязательный
Все параметры из «Запрос на осуществление платежа»     Да
PAYSTO_PAYMENT_ID Номер транзакции в PAYSTO Длинное целое Да

 

 

6. Сведения о платежах    

Внимание! При данных запросах рекомендуется проверять SSL сертификат ответившего сервера для предотвращения DNS подлогов.

6.1. Выписка за период

Элемент адреса Значение
Протокол https | http
Метод Get
Путь https://paysto.com/api/Payment/GetList

Параметры

Название Описание Тип Обязательный
FROM начало периода (по умолчанию – начало текущих суток). Дата время Да
TO конец периода (по умолчанию – текущий момент). Дата время Да
PAYSTO_SHOP_ID Id магазина целое Да
PAYSTO_REQUEST_NO Сквозной (общий для всех типов запросов) счетчик запросов ИС, каждое последующее значение должно быть больше предыдущего. Длинное целое Нет
PAYSTO_MD5 Подпись передаваемых данных. Контрольная сумма MD5. MD5 Да
 
Ответ Формат
HTTP CODE 200 CSV файл в виде Datetime,PAYSTO_PAYMENT_ID,PAYSTO_INVOICE_ID,PAYSTO_SUM,accountSum,status, statusNote Если за указанный период не было платежей – пустой файл

Описание столбцов

Название Описание Тип
Datetime Дата и время регистрации заявки. Дата время
PAYSTO_PAYMENT_ID Номер транзакции в PAYSTO Длинное целое
PAYSTO_INVOICE_ID Переданный номер счета в магазине. Строка до 50 символов
PAYSTO_SUM Сумма заявки (сумма которую фактически собирались оплатить/уже оплатили) Денежный
accountSum Движение по Счету Клиента. Положительное – увеличение баланса, отрицательное – уменьшение баланса. Денежный
status Код статуса заявки. Статус заявки
statusNote Комментарий к статусу. Например, если статус RES_ERROR – то описание ошибки. Строка
 
Ответ Значения ответа
HTTP CODE 403 Нарушены условия безопасности. Проверьте передаваемые параметры и настройки.
HTTP CODE 404 Не найден магазин

 

6.2. Сведения об отправленном на оплату счете    

Элемент адреса Значение
Протокол https
Метод Get | Post (рекомендуется)
Путь https://paysto.com/api/Payment/GetByInvoiceId

Параметры

Название Описание Тип Обязательный
PAYSTO_INVOICE_ID Переданный номер счета в магазине. Строка до 50 символов Да
PAYSTO_SHOP_ID Id магазина целое Да
PAYSTO_REQUEST_NO Сквозной (общий для всех типов запросов) счетчик запросов ИС, каждое последующее значение должно быть больше предыдущего. Длинное целое Нет
PAYSTO_MD5 Подпись передаваемых данных. Контрольная сумма MD5. MD5 Да
 
Ответ Формат
HTTP CODE 200 CSV файл в виде Datetime,PAYSTO_PAYMENT_ID,PAYSTO_INVOICE_ID,PAYSTO_SUM,accountSum,status, statusNote

Описание столбцов

Название Описание Тип
Datetime Дата и время регистрации заявки. Дата время
PAYSTO_PAYMENT_ID Номер транзакции в PAYSTO Длинное целое
PAYSTO_INVOICE_ID Переданный номер счета в магазине. Строка до 50 символов
PAYSTO_SUM Сумма заявки (сумма которую фактически собирались оплатить/уже оплатили) Денежный
accountSum Движение по Счету Клиента. Положительное – увеличение баланса, отрицательное – уменьшение баланса. Денежный
status Код статуса заявки. Статус заявки
statusNote Комментарий к статусу. Например, если статус RES_ERROR – то описание ошибки. Строка
 
Ответ Значения
HTTP CODE 403 Нарушены условия безопасности. Проверьте передаваемые параметры и настройки.
HTTP CODE 404 Не найден счет с таким номером для данного магазина

 

 

7. Состояние счета    

Внимание! При данных запросах рекомендуется проверять SSL сертификат ответившего сервера для предотвращения DNS подлогов.

7.1. Проверка баланса.

Элемент адреса Значение
Протокол https
Метод Get | Post (рекомендуется)
Путь https://paysto.com/api/Common/Balance

Параметры

Название Описание Тип Обязательный
PAYSTO_SHOP_ID Id Магазина, выдается при регистрации. Целое Да
PAYSTO_REQUEST_NO Сквозной (общий для всех типов запросов) порядковый номер запроса, каждое последующее значение должно быть больше предыдущего. Длинное целое Нет
PAYSTO_MD5 Подпись передаваемых данных. Контрольная сумма MD5. MD5 Да

Ответы

Ответ Описание Тип
HTTP CODE 200 Скалярное значение. Доступный баланс. Денежный
HTTP CODE 403 Нарушены условия безопасности. Проверьте передаваемые параметры и настройки.  
HTTP CODE 404 Не найден магазин  

 

8. Аппендикс    

8.1. Данные получаемые из интерфейса Клиентского Кабинета


Рисунок 1 Определение PAYSTO_SHOP_ID
[image]
 
ДРУГИЕ ИНТЕРФЕЙСЫ PAYSTO
OnlineMerchant - для магазинов
UpBalance - для биллинговых систем
PaymentGate - для массовых выплат
LinkCharge - удаленное высталение счетов на оплату
FundingTo - сбор средств и коллективное финансирование
ActivateTo - активация кодов
Общее - способы оплаты, курсы, тарифы, настройки
B2B - удаленное создание и управление магазинами/аккаунтами
 

Если у Вас возникли вопросы, обратитесь в службу поддержки PAYSTO.

Add Feedback