SpryPay - система приема платежей на сайте
   Служба поддержки
   On-line
о системе схема работы платежные системы подключить магазин вопросы ответы SPPI документация контакты ввод вывод
Новости
  


История новостей

Наша кнопка


Описание SPPI ( sprypay payment interface ) интерфейса

Содержание

Зарегистрироваться
Напомнить пароль
Основные термины

Продавец
Продавцом считается пользователь системы "SpryPay", принимающий на свой счет в системе оплату от пользователей сети Интернет с помощью SPPI сервиса. Предполагается, что продавец принимает оплату за товары или услуги, предоставляемые им через Интернет, и следовательно, имеет собственный веб-сайт.

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


Описание SPPI интерфейса

Настройка параметров магазина для приема платежей
Помимо регистрации в "SpryPay" для приема платежей через SPPI сервис продавец должен настроить ряд параметров добавленного им в систему магазина, регулирующих приема платежей и метод оповещения продавца о факте проведения платежа. Настройка параметров выполняется на странице 'Магазины' сайта https://sprypay.ru. Для каждого магазина, через который продавец принимает платежи, в системе хранится свой набор параметров.
Полный перечень параметров и их назначение приведено ниже:
Название параметра Описание/Формат
IPN URL: URL (на веб-сайте продавца), на который сервис SPPI посылает HTTP/POST оповещение о совершении платежа с его детальными реквизитами. Если продавец не определил этот URL, он не будет оповещаться сервисом о совершенных платежах. URL должен начинаться с префикса "http://" или "https://". В этом случае SPPI сервис будет посылать оповещение по портам 80 и 443 соответственно.
формат: до 255 символов (cs)
Метод IPN URL Метод, который будет использоваться при оповещении о совершении платежа на IPN URL. При значении OFF продавец не будет оповещаться сервисом о прошедших платежах.
формат: POST, GET или OFF
Fail URL URL (на веб-сайте продавца), на который будет переведен интернет-браузер покупателя в том случае, если платеж в сервисе SPPI не был выполнен по каким-то причинам. URL должен иметь префикс "http://" или "https://".
формат: до 255 символов (cs)
Метод Fail URL Метод, который будет использоваться при переходе на Fail URL.
При значении OFF покупатель останется на на странице SPPI сервиса.
формат: POST, GET или OFF
Success URL URL (на веб-сайте продавца), на который будет переведен интернет-браузер покупателя в случае успешного выполнения платежа в SPPI сервисе. URL должен иметь префикс "http://" или "https://".
формат: до 255 символов (cs)
Метод Success URL Метод, который будет использоваться при переходе на Success URL.
При значении OFF покупатель останется на на странице SPPI сервиса.
формат: POST, GET или OFF
E-mail для уведомлений E-mail адрес на который будет высылаться письмо с полной информацией о прошедшем платеже.
Если его оставить пустым, то письма отправляться не будут.
формат: до 255 символов, может содержать латинские буквы, цифры, '_', '.', '@' и '-' (ci).
Секретный ключ Строка символов, добавляемая к реквизитам платежа, высылаемым продавцу вместе с оповещением. Эта строка используется для повышения надежности идентификации высылаемого оповещения. Содержание строки известно только SPPI сервису и продавцу!
формат: значение ключа генерируется системой автоматически
Состояние магазина Флаг, разрешающий или запрещающий прием платежей в данном магазине через сервис. Если флаг установлен в состояние "Выкл.", SPPI интерфейс во всех случаях будет сообщать покупателю о невозможности выполнения платежа.
формат: Вкл/Выкл

Формы HTML
Для передачи информации между веб-сайтом продавца и SPPI сервисом используются четыре основных HTML-формы:
  • Форма запроса платежа - генерируется веб-сайтом продавца для формирования запроса на проведение платежа в SPPI сервисе и передачи его через веб-браузер покупателя.
  • Форма оповещения о платеже - генерируется SPPI сервисом для передачи оповещения о платеже на веб-сайт продавца. Оповещение передается без использования веб-браузера покупателя.
  • Форма выполненного платежа - генерируется SPPI сервисом в случае успешного выполнения платежа и передается на веб-сайт продавца через веб-браузер покупателя.
  • Форма невыполненного платежа - генерируется SPPI сервисом в случае невыполнения платежа и передается на веб-сайт продавца через веб-браузер покупателя.

Форма запроса платежа
Эта форма передает запрос с веб-сайта продавца в SPPI сервис через веб-браузер покупателя. Она должна иметь следующие атрибуты и поля:
Action - http[s]://sprypay.ru/sppi/
Method - POST
Fields - поля, передаваемые в форме, описаны в таблице ниже:
Название HTML Field Name Описание/Формат
id магазина spShopId Номер магазина продавца.
формат: 1-11 цифр.
Внутренний номер
покупки продавца
spShopPaymentId В этом поле продавец задает номер покупки в соответствии со своей системой учета. Несмотря на то, что параметр не является обязательным, мы рекомендуем всегда задавать его. Желательно использовать уникальный номер для каждого платежа, что позволит быстро получить относящуюся к нему информацию через другие интерфейсы системы "SpryPay".
формат: до 12 символов, цифры и латинские символы (cs).
Сумма платежа spAmount Сумма платежа, которую продавец желает получить от покупателя. Сумма должна быть больше нуля, дробная часть отделяется точкой.
формат: вещественное число, разделитель - точка.
Валюта платежа spCurrency Валюта платежа, в которой продавец желает получить от покупателя платеж.
формат: usd, rur, eur или uah.
Назначение платежа spPurpose Описание товара или услуги. Формируется продавцом.
формат: от 1 до 128 символов, допускаются цифры, латинские и русские символы, ' ', '.', '-', '_', ':', ';' (ci).
E-mail покупателя spUserEmail E-mail адрес покупателя, на который высылается полная информация по совершаемому им платежу. Данный параметр не является обязательным. Может быть заранее определен продавцом ( допустим из собственной базы покупателей ), чтобы избавить покупателя от его ввода.
формат: до 255 символов, может содержать латинские буквы, цифры, '_', '.', '@' и '-' (ci).
Дополнительные параметры продавца spUserData[*] Все поля формы, имеющие в названии префикс "spUserData", обрабатываются SPPI сервисом автоматически и передаются на веб-сайт продавца после выполнения платежа.
формат имени параметра: не более 20 символов, может содержать цифры и латинские символы (cs).
формат значения параметра: до 255 символов, допускаются любые символы (cs).
URL оповещения spIpnUrl URL на вашем сайте, на который будет приходить полная информация о платеже ( см. "Форма оповещения о платеже" ).
Данный параметр является не обязательным, а в случае необходимости переопределяет подобный параметр в настройках магазина.
метод для URL оповещения spIpnMethod Метод (POST/GET) при помощи которого будет выполнен запрос с данными на вышеописанный "URL оповещения".
Данный параметр является не обязательным, а в случае необходимости переопределяет подобный параметр в настройках магазина.
формат значения параметра: '1' для POST, '0' для GET метода.
URL удачного платежа spSuccessUrl URL на вашем сайте, на который будет перенаправлен пользователь в случае удачного выполнения платежа ( см. "Форма выполненного платежа" ).
Данный параметр является не обязательным, а в случае необходимости переопределяет подобный параметр в настройках магазина.
метод для URL удачного платежа spSuccessMethod Метод (POST/GET) при помощи которого будет выполнена переадресация пользователя на вышеописанный "URL удачного платежа".
Данный параметр является не обязательным, а в случае необходимости переопределяет подобный параметр в настройках магазина.
формат значения параметра: '1' для POST, '0' для GET метода.
URL неудачного платежа spFailUrl URL на вашем сайте, на который будет перенаправлен пользователь в случае неудачного выполнения платежа ( см. "Форма выполненного платежа" ).
Данный параметр является не обязательным, а в случае необходимости переопределяет подобный параметр в настройках магазина.
метод для URL неудачного платежа spFailMethod Метод (POST/GET) при помощи которого будет выполнена переадресация пользователя на вышеописанный "URL неудачного платежа".
Данный параметр является не обязательным, а в случае необходимости переопределяет подобный параметр в настройках магазина.
формат значения параметра: '1' для POST, '0' для GET метода.
язык (en,ru) lang Параметр "lang" предназначен для установки языка. Допустимые значения (ru, en).
какой показать "таб" клиенту tabNum Параметр указывает на номер "таба" который по умолчанию будет видеть клиент при переходе на страницу выбора платёжных систем. Допустимые значения:
1 - "электронные системы"
2 - "денежные / банковские переводы"
3 - "терминалы"
4 - "sms платежи"

Форма оповещения о платеже
Эта форма передает продавцу реквизиты выполненного платежа. Она имеет следующие атрибуты и поля:
Action - IPN URL
Method - Метод IPN URL
Fields - поля, передаваемые в форме, описаны в таблице ниже:
Название HTML Field Name Описание
id платежа spPaymentId Номер платежа в системе исчисления "SpryPay". Является уникальным.
формат: целое число, 10 цифр ( 2009****** )
id магазина spShopId Номер магазина продавца.
формат: целое число, 1-11 цифр.
Внутренний номер
покупки продавца
spShopPaymentId Номер покупки в соответствии с системой исчисления продавца.
формат: до 12 символов, цифры и латинские символы (cs).
сумма на баланс spBalanceAmount Сумма sp которая будет зачислена продавцу на баланс при зачислении платежа. Вычисляется по курсу ЦБРФ на день создания платежа.
формат: вещественное число, разделитель - точка.
сумма платежа spAmount Сумма платежа указанная в "Форме запроса платежа" на сайте продавца.
формат: вещественное число, разделитель - точка.
валюта платежа spCurrency Валюта платежа, указанная в "Форме запроса платежа", в которой продавец желает получить от покупателя платеж.
формат: usd, rur, eur или uah.
E-mail покупателя spCustomerEmail E-mail адрес покупателя.
формат: до 255 символов, может содержать латинские буквы, цифры, '_', '.', '@' и '-' (ci).
назначение платежа spPurpose Описание товара или услуги указанное в "Форме запроса платежа".
формат: от 1 до 128 символов, допускаются цифры, латинские и русские символы, ' ', '.', '-', '_', ':', ';' (ci).
id платежной системы spPaymentSystemId Номер платежной системы в которой покупатель совершил оплату.
Список платежных систем с их номерами смотрите ниже.
формат: целое число, 1-11 цифр.
сумма в единицах
платежной системы
spPaymentSystemAmount Сумма платежа в еденицах измерения выбранной покупателем латежной системы.
формат: вещественное число, разделитель - точка.
id платежа в
платежной системе
spPaymentSystemPaymentId Номер выполненного платежа в системе исчисления выбранной покупателем платежной системы.
формат: строка до 12 символов
дата зачисления spEnrollDateTime Дата и время в которое система "SpryPay" получила данные о выполненном платеже от выбранной покупателем платежной системы. В это же время производится зачисление средств на баланс продавца.
формат: ГГГГ-ММ-ДД ЧЧ:ММ:СС
дополнительные
параметры продавца
spUserData[*] Все поля формы, имеющие в названии префикс "spUserData".
формат: описан выше
контрольная подпись spHashString Контрольная подпись оповещения о выполнении платежа, которая используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Контрольная подпись данных о платеже".

Частота оповещений и формат ответа на оповещение о платеже
В результате обработки GET/POST запроса, содержащего данные о платеже, скрипт магазина должен вернуть ответ в виде строки:
     - "OK" – операция прошла успешно, данные о платеже получены
     - "любой другой текст" - ошибка

Если SPPI сервис при выполнении запроса оповещения о платеже получил ответ "OK" - то оповещеия по данному платежу далее производиться не будут. Если ответ отличался от "OK" - то SPPI сервис будет производить оповещение по данному платежу один раз в 1 минуту ( но не более 2 суток ) пока не получит ответ "OK".

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


Форма выполненного платежа
Эта форма передает реквизиты выполненного платежа на веб-сайт продавца после успешного выполнения операции. Данные передаются через веб-браузер покупателя только в том случае, если выбран метод вызова Success URL "GET" или "POST". Форма имеет следующие атрибуты и поля:
Action - Success URL
Method - Метод Success URL
Fields - поля, передаваемые в форме, описаны в таблице ниже:
Название HTML Field Name Описание
статус платежа status 1 - платеж успешно выполнен.
id платежа spPaymentId Номер платежа в системе исчисления "SpryPay". Является уникальным.
формат: целое число, 10 цифр ( 2008****** )
id магазина spShopId Номер магазина продавца.
формат: целое число, 1-11 цифр.
Внутренний номер
покупки продавца
spShopPaymentId Номер покупки в соответствии с системой исчисления продавца.
формат: до 12 символов, цифры и латинские символы (cs).

Форма невыполненного платежа
Эта форма передает реквизиты невыполненного платежа на веб-сайт продавца. Данные передаются через веб-браузер покупателя только в том случае, если выбран метод вызова Success URL "GET" или "POST". Она имеет следующие атрибуты и поля:
Action - Fail URL
Method - Метод Fail URL
Fields - поля, передаваемые в форме, описаны в таблице выше ( см. "Форма выполненного платежа" ). Отличие состоит в том, что значение параметра "status" имеет значение "0".

Проверка информации о платеже
При выполнении платежа SPPI высылает оповещение о платеже через "Форму оповещения о платеже" на IPN URL, указанный продавцом. Мы рекомендуем вам проверить данные, полученные через "Форму оповещения о платеже":
  • Проверить, не исказились ли данные в процессе передачи (Проверка целостности данных)
  • Проверить сумму и валюту платежа
  • Проверить id магазина продавца

Проверка целостности данных
Высылая оповещение о проведение платежа, SPPI сервис передает реквизиты платежа и контрольную подпись, позволяющую проверять неизменность передаваемых данных.

Контрольная подпись данных о платеже
Контрольная подпись данных о платеже позволяет продавцу проверять как источник данных, так и целостность данных, переданных на IPN URL через "Форму оповещения о платеже". При формировании контрольной подписи SPPI сервис "склеивает" значения полей, передаваемых "Формой оповещения о платеже", в одну строку в следующем порядке:
  • spPaymentId
  • spShopId
  • spShopPaymentId
  • spBalanceAmount
  • spAmount
  • spCurrency
  • spCustomerEmail
  • spPurpose
  • spPaymentSystemId
  • spPaymentSystemAmount
  • spPaymentSystemPaymentId
  • spEnrollDateTime
  • Секретный ключ
При формирования контрольной подписи формируется последовательность из 32-х шестнадцатеричных цифр в соответствии с широко распространенным алгоритмом Message Digest 5 (MD5) разработанным Ron Rivest из MIT Laboratory for Computer Science и RSA Data Security, Inc. Алгоритм был опубликован в Интернете в апреле 1992 года (RFC 1321).

Проверка контрольной подписи
Проверка контрольной подписи может выполняться на сайте продавца по следующему алгоритму:
  • Сформируйте строку путем "склеивания" значений параметров, полученных через "Форму оповещения о платеже", в том же порядке, что и при формировании контрольной подписи в SPPI сервисе (см. выше).
    Помните, что при формировании подписи используется Secret Key.
  • Вычислите MD5 полученной строки.
  • Сравните полученное значение с значением параметра "spHashString", полученного через "Форму оповещения о платеже".
Если сформированная подпись совпадает с полученной через "Форму оповещения о платеже", данные не изменены, и источник данных действительно SPPI сервис.

Проверка суммы и валюты платежа
Так как покупатель "вручную" может изменить данные конечной формы оплаты, которые передаются уже непосредственно в выбранную платежную систему, продавцу рекомендуется проверять информацию о сумме и валюте платежа, передаваемую через параметр "spAmount" и "spCurrency".

Проверка id магазина продавца
Несмотря на то, что покупатель не может изменить id магазина, с которого совершается платеж, продавцу рекомендуется контролировать его путем проверки параметра "spShopId", особенно при использовании нескольких магазинов при работе с SPPI интерфейсом.


Список платежных систем с их номерами

WebMoney Z (1)
WebMoney R (2)
WebMoney U (3)
WebMoney E (4)
RBKmoney (11)
Contact RUR (13)
SMScoin (15)
W1 (17)
Visa/Master_Card (LiqPay) USD (18)
Visa/Master_Card (LiqPay) RUR (19)
Visa/Master_Card (LiqPay) EUR (20)
Visa/Master_Card (LiqPay) UAH (21)
Migom RUR (22)
Contact USD (23)
Телебанк.ВТБ24 (25)
Migom USD (26)
Терминалы_QIWI_(КИВИ) (29)
Anelik RUR (30)
Beeline_SMS (31)
MoneyMail RUR (33)
MoneyMail USD (36)
Western_Union RUR (38)
Western_Union USD (39)
MoneyGram USD (40)
Терминалы_Элекснет (41)
Аллюр RUR (42)
Аллюр USD (43)
Альфа-Клик [ Альфа.Банк ] (45)
Anelik USD (49)
MoneyBookers (51)
Банковский_перевод (52)
LiqPay USD (53)
LiqPay RUR (54)
LiqPay EUR (55)
LiqPay UAH (56)
Деньги@Mail.Ru (57)
© 2008 Система приема платежей «SpryPay»