*П.С. - платежная система(ы) Настройка параметров сайта для приема платежей:
Помимо регистрации в "SpryPay" для приема платежей через SPPI сервис поставщик должен настроить ряд параметров
добавленного им сайта, регулирующих прием платежей и метод оповещения поставщика о факте проведения платежа.
Настройка параметров выполняется на странице 'Список сайтов' сайта https://sprypay.ru. Для каждого сайта,
через который поставщик принимает платежи, в системе хранится свой набор параметров. Полный перечень параметров и их назначение приведено ниже:
Название параметра
Описание/Формат
ipnUrl:
URL (на веб-сайте поставщика), на который сервис SPPI посылает HTTP GET/POST запрос ( оповещение ) о совершении платежа с
его детальными реквизитами.
failUrl:
URL (на веб-сайте поставщика), на который будет переведен интернет-браузер покупателя в том случае, если
платеж в сервисе SPPI не был выполнен по каким-то причинам.
successUrl:
URL (на веб-сайте поставщика), на который будет переведен интернет-браузер покупателя в случае успешного
выполнения платежа в SPPI сервисе.
ipnEmail:
E-mail адрес на который будет высылаться письмо с полной информацией о прошедшем платеже.
ipnSecretKey:
Строка символов, используется для герерации подписи данных, высылаемых поставщику с оповещением.
Содержание строки известно только SPPI сервису и поставщику!
ipnFrequency:
Частота с которой SPPI сервис делает оповещения на ipnUrl. По умолчанию = 10 ( то есть 1 раз в 10 мин ).
Значения могут колебаться от 1 до 60.
ipnMaxTryes:
Максимальное количество оповещений, которое выполнит SPPI сервис по 1-му платежу. Значения могут колебаться от 1 до 300.
Оповещения не выполняются по платежам старше 3-х суток.
Формы HTML
Для передачи информации между веб-сайтом поставщика и SPPI сервисом используются четыре основных HTML-формы:
Форма запроса платежа - генерируется веб-сайтом поставщика для формирования запроса на проведение
платежа в SPPI сервисе и передачи его через веб-браузер покупателя.
Форма оповещения о платеже - генерируется SPPI сервисом для передачи оповещения о платеже на
веб-сайт поставщика. Оповещение передается без использования веб-браузера покупателя.
Форма выполненного платежа - генерируется SPPI сервисом в случае успешного
выполнения платежа и передается на веб-сайт поставщика через веб-браузер покупателя.
Форма невыполненного платежа - генерируется SPPI сервисом в случае невыполнения
платежа и передается на веб-сайт поставщика через веб-браузер покупателя.
Форма запроса платежа
Эта форма передает запрос с веб-сайта поставщика в SPPI сервис через веб-браузер покупателя. Она должна иметь
следующие атрибуты и поля: Action - http[s]://sprypay.ru/sppi/ Method - GET/POST Fields - поля, передаваемые в форме, описаны в таблице ниже:
Название
HTML Field Name
Описание/Формат
id сайта
spShopId
Номер сайта поставщика. формат: 1-11 цифр.
Внутренний номер покупки поставщика
spShopPaymentId
В этом поле поставщик задает номер покупки в соответствии со своей системой учета.
Несмотря на то, что параметр не является обязательным, мы рекомендуем всегда задавать его.
Желательно использовать уникальный номер для каждого платежа, что позволит быстро получить относящуюся
к нему информацию через другие интерфейсы системы "SpryPay".
формат: до 12 символов, цифры и латинские символы (cs).
Сумма платежа
spAmount
Сумма платежа, которую поставщик желает получить от покупателя.
Сумма должна быть больше нуля, дробная часть отделяется точкой.
формат: вещественное число, разделитель - точка.
Валюта платежа
spCurrency
Валюта платежа, в которой поставщик желает получить от покупателя платеж. формат: usd, rur, eur или uah.
Назначение платежа
spPurpose
Описание товара или услуги. Формируется поставщиком.
кодировка: utf-8
формат: от 1 до 1024 символов, допускаются цифры, латинские и русские символы, ' _$`-.:,;№#()|' (ci).
Описание может быть представлено в виде списка ( например список товаров ), в это случае разделителем строк будет `||`, а разделителем позиций и цены - `|`.
Пример: `Шуба|1000||Магниафон импортный|300`.
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).
разрешенный список п.с
spSelectedPS
Параметр "spSelectedPS" используется для указания строгого списка показываемых при оплате платежных систем.
Например, в настройках сайта указан для приема весь возможный список платежных систем, а Вам необходимо показать пользователю только WebMoney WMZ.
формат: список числовых или текстовых кодов п.с через запятую, смотрите ниже
запрещенный список п.с
spForbiddenPS
Параметр "spForbiddenPS" используется для исключения какой либо П.С. из списка показываемых при оплате.
Например, в настройках сайта указан для приема весь возможный список платежных систем, а Вам необходимо скрыть от пользователя WebMoney WMZ и WebMoney WMR.
формат: список числовых или текстовых кодов п.с через запятую, смотрите ниже
цветовая схема
colorTheme
Параметр "colorTheme" используется для указания цветовой схемы платежного интерфейса.
Допустимые значения: `white` - светлая тема, параметр не задан или имеет любое другое значение - темная тема.
активная вкладка в списке П.С.
activeTab
Данный параметр используется для указания активной вкладки с платежными системами при переходе на страницу оплаты.
Допустимые значения: 1 | 2 | 3 | 4 ( по умолчанию активна вкладка 1 => `Электронные деньги`).
авторедирект с 1 выставленной П.С.
autoRedirect
Данный параметр используется для автоматического перенаправления на сайт платежной системы, в случае если список П.С. состоит из одной П.С..
Для автоматического перенаправления на сайт П.С., указанная п.с должна быть online'овой ( WM, Яд, QIWI-wallet ... ). При использовании
авторедиректа, данные о email-адресе клиента и номере телефона ( если необходимо ), должны передаваться в форме запроса платежа.
Допустимые значения: 1 | 0.
Для проверки данного параметра можно в форму запроса платежа добавить 3 парметра: autoRedirect = '1', spSelectedPS = 'WMRUR', spUserEmail = 'test@mail.ru';
Пример формы запроса платежа
Форма оповещения о платеже
Эта форма передает поставщику реквизиты выполненного платежа. Она имеет следующие атрибуты и поля: action - ipnUrl fields - поля, передаваемые в форме, описаны в таблице ниже:
Название
HTML Field Name
Описание
id платежа
spPaymentId
Номер платежа в системе исчисления "SpryPay". Является уникальным.
формат: целое число, 10 цифр ( 20******** )
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
Номер выполненного платежа в системе исчисления выбранной покупателем платежной системы.
Если оплата прошла в несколько платежей, то данный параметр будет содержать список номеров через запятую.
Если данный номер отсутствует или платеж был зачислен администратором 'в ручную', то этот параметр равен параметру spPaymentId.
формат: строка до 1024 символов
дата зачисления
spEnrollDateTime
Дата и время в которое система "SpryPay" получила данные о выполненном платеже от выбранной
покупателем платежной системы. В это же время производится зачисление средств на баланс поставщика.
формат: ГГГГ-ММ-ДД ЧЧ:ММ:СС
дополнительные параметры поставщика
spUserData[*]
Все поля формы, имеющие в названии префикс "spUserData".
формат: описан выше
контрольная подпись
spHashString
Контрольная подпись оповещения о выполнении платежа, которая используется для проверки целостности
полученной информации и однозначной идентификации отправителя. Алгоритм формирования описан в
разделе "Контрольная подпись данных о платеже".
валюта суммы на баланс
spBalanceCurrency
Валюта в которой вам будет зачислена на баланс сумма "spBalanceAmount".
формат: usd, rur, eur или uah.
Пример формы оповещения о платеже
Примечание: данные, отправляемые на ваш ipnUrl, будут в кодировке utf-8.
Формат ответа на оповещение о платеже
В результате обработки GET/POST запроса, содержащего данные о платеже, скрипт на вашем сайте должен вернуть ответ в виде строки:
Ответ равен строке `ok` – это означает, что данные о платеже получены, оповещения по этому платежу более не требуются.
Ответ начинается со слова `error` – это означает, что, при получении данных, на стороне сайта возникла какая-то ошибка, оповещения по этому платежу более не требуются.
Любые другие ответы – для SPPI сервиса это означает, что данные вашим сайтом не получены и оповещение на ваш сайт будет продолжено.
Примечание: первый килобайт ответа вашего сайта на запрос будет сохранен, вы сможете просмотреть его в данных платежа у себя в аккаунте.
Форма выполненного платежа
Эта форма передает реквизиты выполненного платежа на веб-сайт поставщика после успешного выполнения операции.
Данные передаются через веб-браузер покупателя только в том случае, если выбран метод вызова Success URL "GET"
или "POST". Форма имеет следующие атрибуты и поля: action - successUrl fields - поля, передаваемые в форме, описаны в таблице ниже:
Название
HTML Field Name
Описание
статус платежа
status
1 - платеж успешно выполнен.
id платежа
spPaymentId
Номер платежа в системе исчисления "SpryPay". Является уникальным.
формат: целое число, 10 цифр ( 2012****** )
id сайта
spShopId
Номер сайта поставщика.
формат: целое число, 1-11 цифр.
Внутренний номер покупки поставщика
spShopPaymentId
Номер покупки в соответствии с системой исчисления поставщика.
формат: до 12 символов, цифры и латинские символы (cs).
Форма невыполненного платежа
Эта форма передает реквизиты невыполненного платежа на веб-сайт поставщика. Данные передаются через
веб-браузер покупателя только в том случае, если выбран метод вызова Success URL "GET" или "POST".
Она имеет следующие атрибуты и поля: Action - Fail URL Method - Метод Fail URL Fields - поля, передаваемые в форме, описаны в таблице выше ( см. "Форма выполненного платежа" ).
Отличие состоит в том, что значение параметра "status" имеет значение "0".
Проверка информации о платеже
При выполнении платежа SPPI высылает оповещение о платеже через "Форму оповещения о платеже" на ipnUrl,
указанный поставщиком. Мы рекомендуем вам проверить данные, полученные через "Форму оповещения о платеже":
Проверить, не исказились ли данные в процессе передачи ( проверка целостности данных )
Проверить сумму и валюту платежа
Проверить 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 сервис.
PHP пример формировния контрольной подписи
// в данном примере данные приходят в POST-запросе
// список переменных, которые должны присутствовать в запросе с данными платежа
$spQueryFields = array('spPaymentId', 'spShopId', 'spShopPaymentId', 'spBalanceAmount', 'spAmount', 'spCurrency', 'spCustomerEmail', 'spPurpose', 'spPaymentSystemId', 'spPaymentSystemAmount', 'spPaymentSystemPaymentId', 'spEnrollDateTime', 'spHashString', 'spBalanceCurrency');
// проверим, что все они присутутвуют в запросе
foreach($spQueryFields as $spFieldName) if (!isset($_POST[$spFieldName])) exit("error в запросе с данными платежа отсутствует параметр `$spFieldName`");
// ваш секретный ключ, задается в настройках сайта
$yourSecretKeyString = 'F22U39r6Liq49EqNfY323XV81kTPxB7n';
// получим контрольную подпись
$localHashString = md5($_POST['spPaymentId'].$_POST['spShopId'].$_POST['spShopPaymentId'].$_POST['spBalanceAmount'].$_POST['spAmount'].$_POST['spCurrency'].$_POST['spCustomerEmail'].$_POST['spPurpose'].$_POST['spPaymentSystemId'].$_POST['spPaymentSystemAmount'].$_POST['spPaymentSystemPaymentId'].$_POST['spEnrollDateTime'].$yourSecretKeyString);
// сравним полученную подпись и ту, что пришла с запросом
if ($localHashString==$_POST['spHashString'])
{
// все хорошо, далее делаем проверку суммы, номера сайта и все, что вам понадобится
...
...
...
exit("ok");
}
else
{
// подписи не совпали
exit("error не совпали подписи; локальная: `$localHashString`; в запросе:`".$_POST['spHashString']."`");
}
Проверка суммы и валюты платежа
Так как покупатель "вручную" может изменить данные конечной формы оплаты, которые передаются уже непосредственно
в выбранную платежную систему, поставщику рекомендуется проверять информацию о сумме и валюте платежа,
передаваемую через параметр "spAmount" и "spCurrency".
Проверка id сайта поставщика
Несмотря на то, что покупатель не может изменить id сайта, с которого совершается платеж, поставщику
рекомендуется контролировать его путем проверки параметра "spShopId", особенно при использовании нескольких
сайтов при работе с SPPI интерфейсом.
Метод зароса: GET или POST. Содержимое запроса представляет собой простой перечень параметров и их значений.
Пример параметров:
Адрес на который отправляются api-запросы: https://sprypay.ru/api/api.php
Формат API-ответа
Ответ на api-запрос отправляется клиенту в XML формате. Кодировка ответа: utf-8.
Если вам необходим ответ в json формате, то добавьте в запрос необязательный параметр responseForm = 'json'.
Примеры положительного и отрицательного xml-ответа:
Ответ всегда начинается и заканчивается с "response".
Обязательным параметром ответа является "resultcode".
Если "resultcode"="1" - то запрос успешно выполнен и можно читать "содержимое ответа".
Если "resultcode"="0" - то возникла ошибка, текст ошибки будет присутствовать в обязательном, в этом случае, параметре "errorMessage".
Список API-запросов
Категории платежных систем
Запрос на категории платежных систем. Запрос не требует авторизационных данных пользователя.
В таблице представлен список параметров и их значения для данного запроса.
Название
Значение
Описание
action
getPaymentSystemsTypes
Пример запроса: http://sprypay.ru/api/api.php?action=getPaymentSystemsTypes
Платежные системы
Запрос на список платежных систем, с которыми работает spryppay.ru. Запрос не требует авторизационных данных пользователя.
В таблице представлен список параметров и их значения для данного запроса.
Название
Значение
Описание
action
getPaymentSystems
Пример запроса: http://sprypay.ru/api/api.php?action=getPaymentSystems
Ответ на запрос:
.
<response>
<resultCode>1</resultCode>
<responseBody>
<psData>
<paymentSystemId>номер П.С., целое число</paymentSystemId>
<paymentSystemName>название П.С., строка</paymentSystemName>
<typeId>номер категории, к которой относится данная П.С.</typeId>
<pMinAmount>минимальная сумма платежа</pMinAmount>
<pMaxAmount>максимальная сумма платежа</pMaxAmount>
<currencyCode>код валюты данной П.С., ( rur||usd||eur||uah )</currencyCode>
<refundPeriod>
срок в днях, на который блокируются средства на балансе, полученные по данной П.С.,
только для П.С. по которым возможны откаты платежей
</refundPeriod>
<acceptAbility>принимает или нет, на текущий момент, sprypay.ru платежи через эту П.С., [ 0||1 ]</acceptAbility>
<withdrawAbility>
выводит или нет, на текущий момент, sprypay.ru средства с
балансов пользователей в эту П.С., [ 0||1 ]
</withdrawAbility>
<homeUrl>www-адрес сайта данной П.С.</homeUrl>
<payType>тип оплаты данной П.С.: 'online' || 'offline'</homeUrl>
</psData>
...
</responseBody>
</response>
Платежные системы указанного сайта
Запрос на список платежных систем, разрешенных для использования указанным сайтом. Запрос требует авторизационных данных пользователя.
В таблице представлен список параметров и их значения для данного запроса.
Название
Значение
Описание
action
getShopPaymentSystems
shopId
номер сайта
номер вашего сайта, номер можно узнать в списке сайтов в вашем аккаунте на сайте sprypay.ru
userEmail
email-адрес пользователя
email-адрес пользователя, под которым вы подключаетесь к API
userPasswd
пароль пользователя
пароль пользователя, под которым вы подключаетесь к API, пароль в данном запросе передатся не в `чистом` виде, а в виде md5-хэша от него
Пример запроса:
Ответ на запрос:
.
<response>
<resultCode>1</resultCode>
<responseBody>
<psData>
<paymentSystemId>номер разрешенной для вашего сайта П.С.</paymentSystemId>
<checked>включен/выключен прием средств через данную П.С. для этого сайта [ 0||1 ]</checked>
<paymentSystemName>название П.С.</paymentSystemName>
<payType>тип оплаты</payType>
<payFields>
<payField>
<fieldName>имя параметра для использования в запросе на создание платежа</fieldName>
<humanName>смысловое значение параметра</humanName>
<necessary>обязательное в запросе или нет</necessary>
<underInfo>подсказка для клиента</underInfo>
<mask>маска значения</mask>
</payField>
...
</payFields>
</psData>
...
</responseBody>
</response>
Баланс пользователя
Запрос на баланс пользователя. Запрос требует авторизационных данных пользователя.
В таблице представлен список параметров и их значения для данного запроса.
Название
Значение
Описание
action
getBalance
userEmail
email-адрес пользователя
email-адрес пользователя, с которым он зарегистрирован в системе sprypay.ru
userPasswd
пароль пользователя
пароль пользователя, под которым вы подключаетесь к API, пароль в данном запросе передатся не в `чистом` виде, а в виде md5-хэша от него
Пример запроса: http://sprypay.ru/api/api.php?action=getBalance&userEmail=user@email.ru&userPasswd=134e3b3e256ef473be91b9s09e1at23d
История платежей
Запрос на просмотр истории платежей по вашим сайтам.
В таблице представлен список параметров и их значения для данного запроса.
Название
Значение
Описание
action
getPaymentsHistory
обязательный параметр
spShopId
ID сайта
номер вашего сайта необязательный параметр
paymentId
ID платежа
номер искомого платежа необязательный параметр
paymentSystemId
ID П.С.
номер платежной системы, через которую производилась оплата необязательный параметр
createDateFrom
дата создания платежа
левая граница даты создания платежа, если указать - то в ответ попадут только платежи созданные после указанной даты формат даты: dd.mm.yyyy H:i:s ( пример: 01.01.2001 01:01:01) необязательный параметр
createDateTo
дата создания платежа
правая граница даты создания платежа, если указать - то в ответ попадут только платежи созданные до указанной даты формат даты: dd.mm.yyyy H:i:s ( пример: 01.01.2001 01:01:01) необязательный параметр
enrollDateFrom
дата зачисления платежа
левая граница даты зачисления платежа, если указать - то в ответ попадут только платежи зачисленные после указанной даты формат даты: dd.mm.yyyy H:i:s ( пример: 01.01.2001 01:01:01) необязательный параметр
enrollDateTo
дата зачисления платежа
правая граница даты зачисления платежа, если указать - то в ответ попадут только платежи зачисленные до указанной даты формат даты: dd.mm.yyyy H:i:s ( пример: 01.01.2001 01:01:01) необязательный параметр
customerEmail
email-адрес клиента
email-адрес, который покупатель указал при оплате необязательный параметр
goodId
ID товара
номер товара из списка ваших товаров в личном кабинете необязательный параметр
billId
ID счета на оплату
номер счета на оплату из списка ваших счетов в личном кабинете необязательный параметр
userEmail
email-адрес пользователя
email-адрес пользователя, под которым вы подключаетесь к API
userPasswd
пароль пользователя
пароль пользователя, под которым вы подключаетесь к API, пароль в данном запросе передатся не в `чистом` виде, а в виде md5-хэша от него
Пример запроса:
Ответ на запрос:
.
<response>
<resultCode>1</resultCode>
<responseBody>
<query>
список параметров и значение по которым производился поиск
</query>
<rowsCount>количество платежей в ответе</rowsCount>
<payments>
<paymentData>
<paymentId>номер платежа</paymentId>
<shopId>номер вашего сайта</shopId>
<createDate>дата создания платежа</createDate>
<inAmount>сумма платежа из формы инициализации платежа</inAmount>
<inCurrency>валюта платежа из формы инициализации платежа</inCurrency>
<payAmount>сумма оплаты в указанной платежной системе</payAmount>
<paymentSystemId>номер П.С. через которую была произведена оплата</paymentSystemId>
<customerEmail>email-адрес указанный клиентом при оплате</customerEmail>
<purpose>назначение платежа</purpose>
<paymentStatus>статус платежа: 1 - зачислен, 0 - не зачислен, 2 - откат</paymentStatus>
<enrollDate>дата зачисления</enrollDate>
<ipnStatus>статус IPN-оповещения: 1 - выполнено, 0 - не выполнено</ipnStatus>
<goodId>номер товара</goodId>
<billId>номер счета на оплату</billId>
<shopPaymentId>номер платежа в системе исчисления вашео сайта</shopPaymentId>
<ipnLastTryDate>дата:время IPN-оповещния</ipnLastTryDate>
</paymentData>
...
</payments>
</responseBody>
</response>
Создание платежа в фоновом режиме
С помощью данного запроса можно создать платеж, и далее, в зависимости от выбранной П.С., или показать клиенту инструкцию на оплату, или перенаправить на сайт П.С..
Создание платежа через данный API-запрос позволяет исключить страницу платежного шлюза SpryPay.ru из процесса оплаты. Ваш клиент сразу, у вас на сайте, получает
инструкцию на оплату или перенаправляется на сайт выбранной П.С. для оплаты.
В таблице представлен список параметров и их значения для данного запроса.
Название
Значение
Описание
action
makePayment
spShopId
ID сайта
номер ID вашего сайта( см. `Форма запроса платежа` )
paymentSystemId
ID П.С.
номер интересующей платежной системы
spAmount
сумма платежа
сумма платежа ( см. `Форма запроса платежа` )
spCurrency
валюта
валюта платежа ( см. `Форма запроса платежа` )
spPurpose
назначение платежа
назначение платежа ( см. `Форма запроса платежа` )
Для некоторых П.С. дополнительно необходимо отправить опциональные параметры. Список опциональных параметров вы можете получить в результате другого API-запроса `Платежные системы` в тэге <payFields>.
Для примера: e-mail-адрес клиента, номер клиента в системе Альфа-клик, номер QIWI-кошелька и т.д. и т.п.
Пример запроса:
Ответ на запрос может содержать или html-форму (по которой необходимо перейти на сайт П.С. для оплаты) или может содержать инструкцию на оплату ( для 'offline' П.C. )
<response>
<resultCode>1</resultCode>
<responseBody>
<payType>offline</payType>
<instruction>
<rows>
<ru>
<row>В терминале пройдите в раздел `Электронная коммерция`</row>
<row>Найти в предложенном списке систему `SpryPay`</row>
<row>Введите `2015382532` в поле `номер платежа`</row>
<row>Произвести оплату на сумму не менее 1270.11 рублей ( без учета комиссии терминала )</row>
<row>Платеж будет зачислен в течение 3-5 минут после оплаты</row>
</ru>
<en>
<row>В терминале пройдите в раздел `Электронная коммерция`</row>
<row>Найти в предложенном списке систему `SpryPay`</row>
<row>Введите `2015382532` в поле `номер платежа`</row>
<row>Произвести оплату на сумму не менее 1270.11 рублей ( без учета комиссии терминала )</row>
<row>Платеж будет зачислен в течение 3-5 минут после оплаты</row>
</en>
</rows>
<terminalsMap>https://qiwi.com/replenish/map.action</terminalsMap>
</instruction>
</responseBody>
</response>