WebMoney

Wiki

Соглашение о передаче информации

Интерфейс в виде XML-запросов к сертификационному Web-серверу системы.

Интерфейсы системы, основаны на обращениях (запросах) к специальному Web-cерверу системы по протоколу https (SSL 128 бит) в формате XML с использованием специального модуля аутентификации для ключей WM Keeper WinPro .

Аутентификация запроса производится на основании сформированной подписи, находящейся в параметре <sign type="">...</sign> и созданной с использованием ключей WM Keeper WinPro (Classic).

Для использования интерфейса необходимо последовательно произвести два XML-запроса.

  1. Предварительный запрос на возможность проведения платежа.
  2. Запрос на проведение платежа.

    Весь русифицированный текст в запросе надо передавать в кодировке UTF-8.

Предварительный запрос на возможность проведения платежа

Запрос необходимо выполнять до приема денежных средств от Плательщика. При выполнении этого запроса контролируются исправность технических средств (наличие связи, работоспособность и т.д.), обеспеченность средствами для реализации, наличие номера мобильного телефона Плательщика. Также осуществляется проверка Учетного реквизита Плательщика на возможность реализации именно на этот Учетный реквизит (существует, не заблокирован, не превышен текущий лимит и т.п).

<w3s.request>
   <wmid></wmid>
   <sign type=”1”></sign>
   <payment  id="">
            <name></name>
            <passport_serie></passport_serie>
            <passport_number></passport_number>
            <passport_date></passport_date>
            <price></price>
            <purse></purse>
            <phone></phone>
   </payment>
</w3s.request>
  • параметры запроса:
название назначение примечание
wmid WMID подписавшего запрос используется при авторизации с ключами WM Keeper WinPro или сертификатом X.509 WM Keeper WebPro
sign подпись запроса формируется из параметров: wmid+ price+phone+purse
sign/@type тип подписи запроса 1 - подпись сформирована с использованием специального модуля аутентификации для ключей WM Keeper WinPro 2 - подпись сформирована с использованием сертификата X.509 WM Keeper WebPro в кодировке base64
payment/@id уникальный номер транзакции в системе Агента, формируемый вызывающим запрос. Задается целым десятичным числом, заключенным в двойные кавычки и содержит не более 18 цифр. Уникальность «id» позволяет выполнять запрос повторно с тем же номером транзакции и параметрами в случае не получения ответа на запрос (обрыв связи и т.д.).
payment/name полное имя Плательщика (Фамилия, Имя, Отчество) необязательное поле при сумме до 15000р
payment/passport_serie серия паспорта Плательщика необязательное поле при сумме до 15000р
payment/passport_number номер паспорта Плательщика необязательное поле при сумме до 15000р
payment/passport_date дата выдачи паспорта Плательщика необязательное поле при сумме до 15000р
payment/price определяет сумму, принятую от Плательщика;"число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5 незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/purse учетный реквизит Плательщика в системе БАНКА (номер WM-кошелька) строка – 13 символов, первый символ латинская буква R и 12 цифр; пробелы не допускаются
payment/phone номер мобильного телефона Плательщика, используется для идентификации Плательщика Задается десятичным числом, начиная с кода страны (Россия: 7) и содержит не более 14 цифр; пробелы не допускаются
  • формат ответа:
<w3s.response>
    <retval></retval>
    <retdesc></retdesc>
        <payment  id="">
               <price></price>
               <purse></purse>
               <phone></phone>
               <limit></limit>
               <wmid></wmid>
               <rest></rest>
         </payment>
</w3s.request>
  • параметры ответа
название назначение примечание
retval код состояния или ошибки 0 - означает успешное прохождение запроса. Значение других кодов возврата говорит о неудачном прохождении запроса. Возможные коды возврата: 1 – неисправность технических средств; 2 – не хватает средств обеспечения для выполнения зачисления.
Повторять запрос на проведение платежа нужно после устранения причины, вызвавшей ошибку и обязательно с соответствующим этому платежу уникальным номером транзакции в системе Агента (id - уникальный номер). Если в ответе на запрос получен <retval> =0, то при повторном запросе с теми же параметрами запроса, будет получен аналогичный ответ с теми же атрибутами. Если в ответе на запрос получен <retval> =1 или <retval> =2, то после устранении причины отказа, при повторном запросе с теми же параметрами платеж будет зачислен.
retdesc текстовое описание ошибки/пусто текст описания ошибки. произвольная строка от 0 до 255 символов, кодировка win-1251
payment/@id уникальный номер транзакции в системе Агента, формируемый вызывающим запрос. Задается целым десятичным числом, заключенным в двойные кавычки и содержит не более 18 цифр. Уникальность «id» позволяет выполнять запрос повторно с тем же номером транзакции и параметрами в случае не получения ответа на запрос (обрыв связи и т.д.).
payment/price определяет сумму, принятую от Плательщика;"число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5 незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/purse учетный реквизит Плательщика в системе БАНКА (номер WM-кошелька) строка – 13 символов, первый символ латинская буква R и 12 цифр; пробелы не допускаются
payment/phone номер мобильного телефона Плательщика, используется для идентификации Плательщика Задается десятичным числом, начиная с кода страны (Россия: 7) и содержит не более 14 цифр; пробелы не допускаются
payment/limit максимально возможная сумма реализации
на Учетный реквизит Плательщика
возвращается сумма, которая может в данный момент быть передана на Учетный реквизит Плательщика в соответствии с лимитами, устанавливаемыми БАНКОМ. Если нет ограничений по лимиту, будет возвращено значение 99999999, например: <limit>99999999</limit>
payment/wmid наименование или идентификатор определяет идентификатор БАНКА в системе Агента (12 цифр). Пробелы не допускаются
payment/rest остаток средств обеспечения сумма средств обеспечения БАНКА, возможных для приема платежа. Незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно

Запрос на проведение платежа

Запрос на проведение платежа выполняется после успешного выполнения Предварительного запроса. При выполнении этого запроса принимаются все платежи, за исключением двух ситуаций неисправность технических средств и недостаток средств обеспечения для реализации платежа. Если при выполнении этого запроса был получен отрицательный ответ, необходимо, после устранения причин повторять этот запрос с тем же номером уникальным id (во избежание двойного зачисления) до получения положительного ответа. Платеж считается принятым, если при выполнении запроса был получен положительный ответ <retval>0<retval> .

<w3s.request>
   <wmid> WMID подписавшего запрос</wmid>
   <sign type=”1”>  Строка подписи запроса </sign>
           <payment id=" номер транзакции"   test="1/0">
                  <name></name>
                  <passport_serie></passport_serie>
                  <passport_number></passport_number>
                  <passport_date></passport_date>
                  <price></price>
                  <purse></purse>
                  <cheque></cheque>
                  <date></date>
                  <kiosk_id></kiosk_id>
                  <phone></phone>
           </payment>
</w3s.request>
  • параметры запроса
название назначение примечание
wmid WMID подписавшего запрос используется при авторизации с ключами WM Keeper WinPro или сертификатом X.509 WM Keeper WebPro
sign подпись запроса формируется из параметров: id + price + cheque + kiosk_id
sign/@type тип подписи запроса 1 - подпись сформирована с использованием специального модуля аутентификации для ключей WM Keeper WinPro 2 - подпись сформирована с использованием сертификата X.509 WM Keeper WebPro в кодировке base64
payment/@id уникальный номер транзакции в системе Агента, формируемый вызывающим запрос. Задается целым десятичным числом, заключенным в двойные кавычки и содержит не более 18 цифр. Уникальность «id» позволяет выполнять запрос повторно с тем же номером транзакции и параметрами в случае не получения ответа на запрос (обрыв связи и т.д.).
payment/@test определяет режим запроса Задается значениями "0" или "1". «test» равен "1"- платеж проводится в тестовом режиме, «test» равен "0" - платеж реальный. Например: < payment> id="93578" test="0" </payment>. При этом номер id должен быть уникальным для тестовых и реальных запросов. Если id был использован для тестового запроса, его нельзя использовать для реального запроса
payment/name полное имя Плательщика (Фамилия, Имя, Отчество) необязательное поле при сумме до 15000р
payment/passport_serie серия паспорта Плательщика необязательное поле при сумме до 15000р
payment/passport_number номер паспорта Плательщика необязательное поле при сумме до 15000р
payment/passport_date дата выдачи паспорта Плательщика необязательное поле при сумме до 15000р
payment/price определяет сумму, принятую от Плательщика;"число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5 незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/purse учетный реквизит Плательщика в системе БАНКА (номер WM-кошелька) строка – 13 символов, первый символ латинская буква R и 12 цифр; пробелы не допускаются
payment/phone номер мобильного телефона Плательщика, используется для идентификации Плательщика Задается десятичным числом, начиная с кода страны (Россия: 7) и содержит не более 14 цифр; пробелы не допускаются
payment/cheque определяет номер документа выданный Плательщику Агентом Задается целым десятичным числом и содержит не более 16 цифр; пробелы не допускаются
payment/date дата приема платежа по "часам" Агента Имеет формат YYYYMMDD HH:mm:ss, где YYYY – число года, MM – число месяца, DD – число дня, HH – часы, mm – минуты, ss – секунды. Например: <date> 20071030 12:04:03; пробелы не допускаются
payment/kiosk_id идентификатор точки приема платежа Агента Уникальный идентификатор автомата или банкомата или терминала и т.п. Задается целым десятичным числом и содержит не более 16 цифр; пробелы не допускаются
  • формат ответа:
 
<w3s.response>
   <retval> </retval>
   <retdesc>     </retdesc>
   <payment id=" "    test="1/0">
       <number> </number>
       <name> </name>
       <passport_serie></passport_serie>
       <passport_number></passport_number>
       <passport_date></passport_date>
       <price></ price>
       <amount></amount>
       <bonus></bonus>
       <rest></rest>
       <purse></purse>
       <cheque></cheque>
       <date></date>
       <kiosk_id></kiosk_id>
       <phone></phone>
       <wmtranid></wmtranid>
       <wmdate></wmdate>
    </payment>
</w3s.request>
  • параметры ответа
название назначение примечание
retval код состояния или ошибки 0 - означает успешное прохождение запроса. Значение других кодов возврата говорит о неудачном прохождении запроса. Возможные коды возврата: 1 – неисправность технических средств; 2 – не хватает средств обеспечения для выполнения зачисления.
Повторять запрос на проведение платежа нужно после устранения причины, вызвавшей ошибку и обязательно с соответствующим этому платежу уникальным номером транзакции в системе Агента (id - уникальный номер). Если в ответе на запрос получен <retval> =0, то при повторном запросе с теми же параметрами запроса, будет получен аналогичный ответ с теми же атрибутами. Если в ответе на запрос получен <retval> =1 или <retval> =2, то после устранении причины отказа, при повторном запросе с теми же параметрами платеж будет зачислен.
retdesc текстовое описание ошибки/пусто текст описания ошибки. произвольная строка от 0 до 255 символов, кодировка win-1251
payment/@id уникальный номер транзакции в системе Агента, формируемый вызывающим запрос. Задается целым десятичным числом, заключенным в двойные кавычки и содержит не более 18 цифр. Уникальность «id» позволяет выполнять запрос повторно с тем же номером транзакции и параметрами в случае не получения ответа на запрос (обрыв связи и т.д.).
payment/@test определяет режим запроса Задается значениями "0" или "1". «test» равен "1"- платеж проводится в тестовом режиме, «test» равен "0" - платеж реальный. Например: < payment> id="93578" test="0" </payment>. При этом номер id должен быть уникальным для тестовых и реальных запросов. Если id был использован для тестового запроса, его нельзя использовать для реального запроса
payment/number шестнадцатисимвольный код платежа Задается буквами латинского алфавита (A,B,С,D,E,F) и десятичными цифрами. Например: A7634FC7634D3290
payment/name полное имя Плательщика (Фамилия, Имя, Отчество)
payment/passport_serie серия паспорта Плательщика
payment/passport_number номер паспорта Плательщика
payment/passport_date дата выдачи паспорта Плательщика
payment/price определяет сумму, принятую от Плательщика;"число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5 незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/amount определяет сумму к зачислению на Учетный реквизит Плательщика незначащие нули в конце и точка, если число целое отсутствуют, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/bonus сумма вознаграждения Агента вознаграждение Агента в соответствии с п. 4.1. настоящего договора. Задается десятичным числом с точностью до второго знака с разделителем «.»(точка). Сумма вознаграждения Агента, в соответствии с п. 4.1. Договора, вычисляется по формуле: bonus= price*процент Агента по договору/100.
незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/rest остаток средств обеспечения сумма средств обеспечения БАНКА, возможных для приема платежа. Незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно
payment/purse учетный реквизит Плательщика в системе БАНКА (номер WM-кошелька) строка – 13 символов, первый символ латинская буква R и 12 цифр; пробелы не допускаются
payment/phone номер мобильного телефона Плательщика, используется для идентификации Плательщика Задается десятичным числом, начиная с кода страны (Россия: 7) и содержит не более 14 цифр; пробелы не допускаются
payment/cheque определяет номер документа выданный Плательщику Агентом Задается целым десятичным числом и содержит не более 16 цифр; пробелы не допускаются
payment/date дата приема платежа по "часам" Агента Имеет формат YYYYMMDD HH:mm:ss, где YYYY – число года, MM – число месяца, DD – число дня, HH – часы, mm – минуты, ss – секунды. Например: <date> 20071030 12:04:03; пробелы не допускаются
payment/kiosk_id идентификатор точки приема платежа агента Уникальный идентификатор автомата или банкомата или терминала и т.п. Задается целым десятичным числом и содержит не более 16 цифр; пробелы не допускаются
payment/wmtranid возвращает номер транзакции в системе Банка настоятельно рекомендуется хранение в учетной системе Агента связки уникального id и уникального соответствующего ему wmtranid, что позволяет 100% идентифицировать любой платеж. задается целым десятичным числом
payment/wmdate дата операции по "часам" БАНКА дата операции по "часам" БАНКА. имеет формат YYYYMMDD HH:mm:ss, где YYYY – число года, MM – число месяца, DD – число дня, HH – часы, mm – минуты, ss – секунды

Возврат <retval>0<retval> означает успешное прохождение платежа.

В случае неполучения ответа или получение кода ошибки в ответе (технические неисправности: разрыв связи, timeout и т.п.), запрос на проведение платежа необходимо повторять (с теми же реквизитами во избежание двойного зачисления) после устранения причины, вызвавшей ошибку, до тех пор, пока не будет получен положительный ответ.

В случае многократного получения кода ошибки необходимо связаться со специалистами Банка для выяснения состояния платежа.