25 12.2020 |
Вывод в КИВИ |
18 12.2020 |
Прием Яндекс |
13 12.2020 |
Прием КИВИ |
Продавцом считается пользователь системы "Веб Оплата", принимающий на свой счет в системе оплату от пользователей сети Интернет с помощью IPN сервиса. Предполагается, что продавец принимает оплату за товары или услуги, предоставляемые им через Интернет, и следовательно, имеет собственный веб-сайт. |
Покупателем считается пользователь сети Интернет, желающий оплачивать услуги или товары, предлагаемые продавцом на своем веб-сайте. |
Помимо регистрации в "Веб Оплата" для приема платежей через IPN сервис продавец должен настроить ряд параметров
добавленного им в систему магазина, регулирующих приема платежей и метод оповещения продавца о факте проведения платежа.
Настройка параметров выполняется на странице 'Список магазинов'. Для каждого магазина,
через который продавец принимает платежи, в системе хранится свой набор параметров. Полный перечень параметров и их назначение приведено ниже: |
Название параметра | Описание/Формат |
ipnUrl: | URL (на веб-сайте продавца), на который сервис IPN посылает HTTP GET/POST запрос ( оповещение ) о совершении платежа с его детальными реквизитами. |
failUrl: | URL (на веб-сайте продавца), на который будет переведен интернет-браузер покупателя в том случае, если платеж в сервисе IPN не был выполнен по каким-то причинам. |
successUrl: | URL (на веб-сайте продавца), на который будет переведен интернет-браузер покупателя в случае успешного выполнения платежа в IPN сервисе. |
ipnEmail: | E-mail адрес на который будет высылаться письмо с полной информацией о прошедшем платеже. |
ipnSecretKey: | Строка символов, используется для герерации подписи данных, высылаемых продавцу с оповещением. Содержание строки известно только IPN сервису и продавцу! |
Название | HTML Field Name | Описание/Формат |
id магазина | ShopId | Номер магазина продавца. формат: 1-11 цифр. |
Внутренний номер покупки продавца |
ShopPaymentId |
В этом поле продавец задает уникальный номер для каждого платежа. формат: до 50 символов, цифры и латинские символы. |
Сумма платежа | Amount |
Сумма платежа, которую продавец желает получить от покупателя.
Сумма должна быть больше нуля, дробная часть отделяется точкой. формат: вещественное число, разделитель - точка. |
Валюта платежа | Currency | Валюта платежа, в которой продавец желает получить от покупателя платеж. формат: usd, rur, eur, kzt, uah или tmt. |
Назначение платежа | Purpose |
Описание товара или услуги. Формируется продавцом. кодировка: utf-8 формат: от 1 до 128 символов, допускаются цифры, латинские и русские символы, ' ', '.', '-', '_', ':', ';' |
E-mail покупателя | UserEmail |
E-mail адрес покупателя, на который высылается полная информация по совершаемому им платежу.
Данный параметр не является обязательным. Может быть заранее определен продавцом ( допустим из
собственной базы покупателей ), чтобы избавить покупателя от его ввода. формат: до 255 символов, может содержать латинские буквы, цифры, '_', '.', '@' и '-' |
Дополнительные параметры продавца | UserData |
Поле формы, имеющие названии "UserData", обрабатываются IPN сервисом автоматически и
передаются на веб-сайт продавца после выполнения платежа. формат значения параметра: до 255 символов, допускаются любые символы. |
1 2 3
4 5 6
7 8 9 10
|
< input name = "ShopId" value = "номер вашего магазина" type = "hidden" > < input name = "ShopPaymentId" value = "ваш номер платежа" type = "hidden" > < input name = "Currency" value = "rur, usd, eur, uah, kzt или tmt" type = "hidden" > < input name = "Purpose" value = "назначение платежа" type = "hidden" > < input name = "Amount" value = "3.00" type = "hidden" > < input name = "UserEmail" value = "usermail@mail.ru" type = "hidden" > < input name = "UserData" value = "order_#1234567" type = "hidden" > < input value = "оплатить" type = "submit" > </ form > |
Название | HTML Field Name | Описание |
id платежа | PaymentId | Номер платежа в системе исчисления "Веб Оплата". Является уникальным. формат: целое число. |
id магазина | ShopId |
Номер магазина продавца. формат: целое число, 1-11 цифр. |
Внутренний номер покупки продавца |
ShopPaymentId |
Номер покупки в соответствии с системой исчисления продавца. формат: до 12 символов, цифры и латинские символы (cs). |
сумма на баланс | BalanceAmount |
Сумма которая будет зачислена продавцу на баланс при зачислении платежа. Вычисляется по курсу ЦБРФ на день создания платежа. формат: вещественное число, разделитель - точка. |
Валюта баланса | BalanceCurrency | формат: rur, usd, eur, uah, kzt или tmt. |
сумма платежа | Amount |
Сумма платежа указанная в "Форме запроса платежа" на сайте продавца. формат: вещественное число, разделитель - точка. |
валюта платежа | Currency |
Валюта платежа, указанная в "Форме запроса платежа", в которой продавец желает получить от покупателя платеж. формат: rur, usd, eur, uah, kzt или tmt. |
E-mail покупателя | CustomerEmail |
E-mail адрес покупателя. формат: до 255 символов, может содержать латинские буквы, цифры, '_', '.', '@' и '-' (ci). |
назначение платежа | Purpose |
Описание товара или услуги указанное в "Форме запроса платежа". формат: от 1 до 128 символов, допускаются цифры, латинские и русские символы, ' ', '.', '-', '_', ':', ';' (ci). |
id платежной системы | PaymentSystemId |
Номер платежной системы в которой покупатель совершил оплату. Список платежных систем с их номерами смотрите ниже. формат: целое число, 1-11 цифр. |
дата зачисления | EnrollDateTime |
Дата и время в которое система "Веб Оплата" получила данные о выполненном платеже от выбранной
покупателем платежной системы. В это же время производится зачисление средств на баланс продавца. Значение в UNIX формате: 1695571437 |
дополнительные параметры продавца |
UserData | Поле формы, имеющие название "UserData". формат: описан выше |
контрольная подпись |
HashString | Контрольная подпись оповещения о выполнении платежа, которая используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Контрольная подпись данных о платеже". |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < form action = "ipnUrl" method = "POST" accept-charset = "utf-8" > < input name = "PaymentId" value = "номер платежа в Веб-оплата" type = "hidden" > < input name = "ShopId" value = "номер вашего магазина" type = "hidden" > < input name = "ShopPaymentId" value = "ваш номер платежа" type = "hidden" > < input name = "BalanceAmount" value = "32.52" type = "hidden" > < input name = "BalanceCurrency" value = "rur" type = "hidden" > < input name = "Amount" value = "1" type = "hidden" > < input name = "Currency" value = "usd" type = "hidden" > < input name = "CustomerEmail" value = "someuser@somemailserver.ru" type = "hidden" > < input name = "Purpose" value = "назначение платежа" type = "hidden" > < input name = "PaymentSystemId" value = "32" type = "hidden" > < input name = "EnrollDateTime" value = "1695571437" type = "hidden" > < input name = "UserData" value = "какой-то не обязательнй параметр" type = "hidden" > < input name = "HashString" value = "4fb1f77821ccf9ed79ddadf0688c9d45" type = "hidden" > </ form > |
Название | HTML Field Name | Описание |
статус платежа | status | 1 - платеж успешно выполнен. |
id магазина | ShopId | Номер магазина продавца. формат: целое число, 1-11 цифр. |
id транзакции | ShopPaymentId | Уникальный номер покупки в магазине продавца. 1-12 цифр. |
сумма платежа | Amount | Сумма платежа указанная в "Форме запроса платежа" на сайте продавца. формат: вещественное число, разделитель - точка. |
валюта платежа | Currency | Валюта платежа, указанная в "Форме запроса платежа", формат: rur, usd, eur, uah, kzt или tmt. |
Название | HTML Field Name | Описание |
статус платежа | status | 0 - платеж не выполнен. |
id магазина | ShopId | Номер магазина продавца. формат: целое число, 1-11 цифр. |
id транзакции | ShopPaymentId | Уникальный номер покупки в магазине продавца. 1-12 цифр. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?php // список переменных, которые должны присутствовать в запросе с данными платежа $QueryFields = array ( 'PaymentId' , 'ShopId' , 'ShopPaymentId' , 'BalanceAmount' , 'BalanceCurrency' , 'Amount' , 'Currency' , 'CustomerEmail' , 'Purpose' , 'PaymentSystemId' , 'EnrollDateTime' , 'HashString' ); // проверим, что все они присутутвуют в запросе foreach ( $QueryFields as $FieldName ) if (!isset( $_POST [ $FieldName ])) exit ( "error" ); // ваш секретный ключ, задается в настройках магазина $yourSecretKeyString = 'F22U39r6Liq49EqNfY323XV81kTPxB7n' ; // получим контрольную подпись $localHashString = md5( $_POST [ 'PaymentId' ]. $_POST [ 'ShopId' ]. $_POST [ 'ShopPaymentId' ]. $_POST [ 'BalanceAmount' ]. $_POST [ 'BalanceCurrency' ]. $_POST [ 'Amount' ]. $_POST [ 'Currency' ]. $_POST [ 'CustomerEmail' ]. $_POST [ 'Purpose' ]. $_POST [ 'PaymentSystemId' ]. $_POST [ 'EnrollDateTime' ]. $yourSecretKeyString ); // сравним полученную подпись и ту, что пришла с запросом if ( $localHashString == $_POST [ 'HashString' ]) { // все хорошо, далее делаем проверку суммы, номера магазина и все, что вам понадобится ... ... ... exit ( "ok" ); } else { // подписи не совпали exit (); } ?> |
Метод зароса: GET или POST. Содержимое запроса представляет собой простой перечень параметров и их значений. Адрес на который отправляются API-запросы: https://web-oplata.com/API/api.php |
Ответ на API-запрос отправляется клиенту в XML формате. Кодировка ответа: utf-8. Примеры положительного и отрицательного API-ответа: |
||||
. | <response> <resultCode>1</resultCode> <responseBody> ... содержимое ответа ... </responseBody> </response> |
. | <response> <resultCode>0</resultCode> <responseBody> <errorMessage>код ошибки</errorMessage> </responseBody> </response> |
|
Ответ всегда начинается и заканчивается с "response". Обязательным параметром ответа является "resultcode". Если "resultcode"="1" - то запрос успешно выполнен и можно читать "содержимое ответа". Если "resultcode"="0" - то возникла ошибка, код ошибки будет присутствовать в обязательном, в этом случае, параметре "errorMessage". |
||||
Значения и описание ошибок в параметре "errorMessage".
|
Название | Значение | Описание |
action | getBalance | |
userEmail | email-адрес клиена | email-адрес клиента, с которым он зарегистрирован в системе web-oplata.com |
userPasswd | пароль клиента | пароль клиента, с которым он авторизуется на сайте web-oplata.com, пароль в данном запросе передатся не в `чистом` виде, а в виде md5-хэша от него |
1 2 3 4 5 6 | < input name = "action" value = "getBalance" type = "hidden" > < input name = "userEmail" value = "user@email.ru" type = "hidden" > < input name = "userPasswd" value = "134e3b3e256ef473be91b9s09e1at23d" type = "hidden" > < input value = "запрос" type = "submit" > </ FORM > |
. | <response> <resultCode>1</resultCode> <responseBody> <rur>0.00</rur> <usd>0.00</usd> <eur>0.00</eur> <uah>0.00</uah> <kzt>0.00</kzt> <tmt>0.00</tmt> </responseBody> </response> |
Название | Значение | Описание |
action | checkInternalTransfer | |
userEmail | email-адрес отправителя | email-адрес отправителя, с которым он зарегистрирован в web-oplata.com |
userPasswd | пароль отправителя | пароль отправителя, с которым он авторизуется на сайте web-oplata.com, пароль в данном запросе передается не в `чистом` виде, а в виде md5-хэша от него |
receiveEmail | получатель перевода | email-адрес получателя, с которым он зарегистрирован в web-oplata.com |
Currency | валюта отправления | валюта в которой отправитель отправляет платеж |
Amount | сумма отправления | сумма перевода ( в валюте отправления ), которая будет списана с баланса отправителя |
1 2 3 4 5 6 7 8 9 | < input name = "action" value = "checkInternalTransfer" type = "hidden" > < input name = "userEmail" value = "user@email.ru" type = "hidden" > < input name = "userPasswd" value = "134e3b3e256ef473be91b9s09e1at23d" type = "hidden" > < input name = "receiveEmail" value = "user2@emaila.net" type = "hidden" > < input name = "Currency" value = "rur" type = "hidden" > < input name = "Amount" value = "100" type = "hidden" > < input value = "отправить" type = "submit" > </ FORM > |
. | <response> <resultCode>1</resultCode> <responseBody> <sendAmount>100_rur ( сумма, которая спишется с баланса отправителя )</sendAmount> <receiveAmount>100_rur ( сумма, которую получит получатель )</receiveAmount> </responseBody> </response> |
Название | Значение | Описание |
action | makeInternalTransfer |
Название | Значение | Описание |
action | GenerateGiftCertificates | |
userEmail | email-адрес пользователя | email-адрес, с которым пользователь зарегистрирован в web-oplata.com |
userPasswd | пароль пользователя | пароль с которым пользователь авторизуется на сайте web-oplata.com, пароль в данном запросе передается не в `чистом` виде, а в виде md5-хэша от него |
Currency | валюта сертификата | валюта в которой отправитель генерирует сертификат |
Amount | сумма сертификата | сумма генерации сертификата, которая будет списана с баланса пользователя который создает сертификат |
1 2 3 4 5 6 7 8 | < input name = "action" value = "GenerateGiftCertificates" type = "hidden" > < input name = "userEmail" value = "user@email.ru" type = "hidden" > < input name = "userPasswd" value = "134e3b3e256ef473be91b9s09e1at23d" type = "hidden" > < input name = "Currency" value = "rur" type = "hidden" > < input name = "Amount" value = "100" type = "hidden" > < input value = "создать" type = "submit" > </ FORM > |
. | <response> <resultCode>1</resultCode> <responseBody> <Certificate>603-297-815_100_rur (код_сумма_валюта сертификата)</Certificate> </responseBody> </response> |
|
|
© 2010-2016 "ВЕБ-ОПЛАТА"
Система приема платежей. |
![]() |
![]() |
![]() |
![]() |
![]() |