Правильная ссылка на эту статью: |
Интерфейс ATM4
Интерфейс ATM4. Запрос на проведения платежа в адрес провайдера¶
Платеж считается принятым, если при выполнении запроса был получен положительный ответ <retval>0</retval>. Если при выполнении этого запроса был получен отрицательный ответ, необходимо, после устранения причин повторить этот запрос с тем же номером уникальным id (во избежание двойного зачисления) до получения положительного ответа.
Юридическое лицо, использующее согласно договору средства аутентификации WMID, подписывающее запрос должно иметь подписанный договор с уполномоченным представителем системы WebMoney Transfer.
- URL для передачи — https://transfer.gdcert.com/ATM/Xml/Payment4.ashx
- метод – POST
- формат запроса:
<w3s.request lang="en"> <wmid></wmid> <sign type=""></sign> <payment id="" currency="" mode="" exchange=""> <requisite></requisite> <provider></provider> <phone></phone> <price></price> <date></date> <point></point> </payment> </w3s.request>
- параметры запроса:
название | сущность | назначение | примечание |
lang | язык сообщений | используется для установки языка ответа. Допустимые значения: "en" - английский язык, "ru" - русский язык. При отсутствии атрибута, lang ="en" | |
wmid | тег | WMID подписавшего запрос | используется при авторизации с ключами WM Keeper WinPro или сертификатом X.509 WM Keeper WebPro |
sign | тег | подпись запроса | формируется из параметров: wmid + @id + @currency + @mode + requisite + provider + phone + price + date + point |
sign/@type | атрибут | тип подписи запроса | 1 - подпись сформирована с использованием специального модуля аутентификации для ключей WM Keeper WinPro, 2 - подпись сформирована с использованием сертификата X.509 WM Keeper WebPro в кодировке base64 |
payment/@id | атрибут | уникальный номер транзакции | уникальный номер транзакции в системе Клиента, формируемый Клиентом. Задается целым десятичным числом, заключенным в двойные кавычки и содержит не более 18 цифр. уникальность «id» позволяет выполнять запрос на проведение платежа при пополнении повторно с тем же номером транзакции и параметрами в случае не получения ответа на запрос (обрыв связи и т.д.) или неудачном прохождении запроса. При повторном запросе с этим же номером, для уже принятого платежа, будет возвращено состояние данного платежа. |
payment/@currency | атрибут | валюта приема платежа | определяет валюту приема платежа, "USD"- платеж принят в Долларах США, ""EUR"" - платеж принят в Евро, ""RUB"" - платеж принят в Рублях (валюта доступна только при указании валюты зачисления платежа) . |
payment/@exchange | атрибут | валюта зачисление платежа | параметр не обязательный и определяет валюту зачисления платежа, "USD"- Доллары США, ""EUR"" - Евро. При отсутствии соответствует валюте приема платежа |
payment/@mode | атрибут | режим запроса | определяет режим запроса и имеет два значения, "1"- предварительный запрос на возможность проведения платежа, "0" - запрос на проведения платежа. |
payment/requisite | тег | пополняемый реквизит | строка – 50 символов, содержащая номер телефона, номер договора, wm кошелёк получателя. пробелы и знак + не допускаются |
payment/provider | тег | номер провайдера пополнения | 0 - пополнение WM кошелька (разрешенные типы Z, E, R), 1,2,3 - оплата услуг МТС, Билайн, Мегафон. Задается целым десятичным числом и содержит не более 5 цифр. |
payment/phone | тег | контактный мобильный телефон ПЛАТЕЛЬЩИКА | строка – код страны, код оператора, номер телефона; пробелы и знак + не допускаются |
payment/price | тег | сумма принятая от плательщика | число с плавающей точкой (разделитель - .(точка)) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно) |
payment/date | тег | дата платежа | определяет дату и время приема платежа по местному времени. соответствует значению поля «Дата платежа» на форме документа, подтверждающего реализацию ЭЧП. имеет формат YYYYMMDD HH:mm:ss, где YYYY – число года, MM – число месяца, DD – число дня, HH – часы, mm – минуты, ss – секунды |
payment/point | тег | уникальный идентификатор точки пополнения | определяет уникальный идентификатор точки пополнения. задается целым десятичным числом и содержит не более 16 цифр |
- формат ответа:
<w3s.response> <retval></retval> <retdesc></retdesc> <payment id="" currency="" mode="" exchange=""> <requisite></requisite> <provider></provider> <phone></phone> <price></price> <amount></amount> <comiss></comiss> <rest></rest> <date></date> <point></point> <wmtranid></wmtranid> <tranid></tranid> <dateupd></dateupd> <limit> <day></day> <month></month> </limit> </payment> </w3s.response>
- параметры ответа:
название | сущность | назначение | примечание |
retval | тег | код состояния или ошибки | 0 - запрос выполнен успешно. другие значения кодов ответа говорят о неудачном прохождении запроса. |
retdesc | тег | текстовое описание ошибки/пусто | текст описания ошибки. произвольная строка от 0 до 255 символов; кодировка win-1251 |
payment/@id | атрибут | уникальный номер транзакции | уникальный номер транзакции в системе Клиентом, формируемый Клиентом. Задается целым десятичным числом, заключенным в двойные кавычки и содержит не более 18 цифр. уникальность «id» позволяет выполнять запрос на проведение платежа при пополнении повторно с тем же номером транзакции и параметрами в случае не получения ответа на запрос (обрыв связи и т.д.) или неудачном прохождении запроса. При повторном запросе с этим же номером, для уже принятого платежа, будет возвращено состояние данного платежа. |
payment/@currency | атрибут | валюта платежа | определяет валюту платежа, "USD"- платеж принят в Долларах США, "EUR" - платеж принят в Евро. |
payment/@mode | атрибут | режим запроса | определяет режим запроса и имеет два значения, "1"- предварительный запрос на возможность проведения платежа, "0" - запрос на проведения платежа. |
payment/@exchange | атрибут | валюта зачисление платежа | параметр не обязательный и определяет валюту зачисления платежа, "USD"- Доллары США, ""EUR"" - Евро. При отсутствии соответствует валюте приема платежа |
payment/requisite | тег | пополняемый реквизит | строка – 50 символов, содержащая номер телефона, номер договора, wm кошелёк получателя. пробелы и знак + не допускаются |
payment/provider | тег | номер провайдера пополнения | задается целым десятичным числом и содержит не более 5 цифр. |
payment/phone | тег | контактный мобильный телефон ПЛАТЕЛЬЩИКА | строка – код страны, код оператора, номер телефона; пробелы и знак + не допускаются |
payment/price | тег | сумма принятая от плательщика | число с плавающей точкой (разделитель - .(точка)) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно) |
payment/date | тег | дата платежа | определяет дату и время приема платежа по местному времени. имеет формат YYYYMMDD HH:mm:ss, где YYYY – число года, MM – число месяца, DD – число дня, HH – часы, mm – минуты, ss – секунды |
payment/point | тег | уникальный идентификатор точки пополнения | определяет уникальный идентификатор точки пополнения. задается целым десятичным числом и содержит не более 16 цифр |
payment/amount | тег | сумма пополнения на кошелек | число с плавающей точкой (разделитель - .(точка)) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно) |
payment/comiss | тег | комиссия пополнения | число с плавающей точкой (разделитель - .(точка)) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно) |
payment/rest | тег | остаток средств обеспечения | возвращает остаток средств обеспечения, возможных для реализации. Задается десятичным числом с точностью до второго знака (разделитель - .(точка) ). Следующая реализация платежа может быть выполнена на сумму, не превышающее возвращенное значение остатка |
payment/wmtranid | тег | номер транзакции в системе WebMoney Transfer | уникальный номер операции в системе WebMoney Transfer. задается целым десятичным числом и содержит не более 16 цифр |
payment/tranid | тег | номер операции | уникальный номер операции в системе. задается целым десятичным числом и содержит не более 16 цифр |
payment/dateupd | тег | дата операции по "часам" системы | дату операции по "часам" системы. имеет формат YYYYMMDD HH:mm:ss, где YYYY – число года, MM – число месяца, DD – число дня, HH – часы, mm – минуты, ss – секунды |
payment/limit/day | тег | максимально возможная сумма пополнения на реквизиты Пользователя в сутки | число с плавающей точкой (разделитель - .(точка) ) |
payment/limit/month | тег | максимально возможная сумма пополнения на реквизиты Пользователя в месяц | число с плавающей точкой (разделитель - .(точка) ) |
payment/upexchange | тег | сумма принятая от плательщика, при указании атрибута payment/@exchange | число с плавающей точкой (разделитель - .(точка)) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно) |
payment/course | тег | курс конвертации, при указании атрибута payment/@exchange | число с плавающей точкой (разделитель - .(точка)) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно) |
- примеры XML запросов:
1) проверка на возможность проведения платежа на WM кошелек
- запрос
<w3s.request> <wmid>35********32</wmid> <sign type="1">e4d937fc647a107d3de474d9caf2b29dc973a3fda57138768ee9e85d15576f8d4d9a5c52633300f36cb39f1dd744d8a957165b3260c0cda0fd9054d62c57ca640015</sign> <payment id="185" mode="1" currency="RUB" exchange="USD"> <requisite>R773257789242</requisite> <provider>0</provider> <phone>79168704084</phone> <price>100.12</price> <date>20140505 18:00:00</date> <point>12</point> </payment> </w3s.request>
- ответ
<w3s.response> <retval>0</retval> <retdesc><![CDATA[Запрос успешно обработан]]></retdesc> <payment id="185" currency="RUB" exchange="USD" mode="1"> <requisite>R773257789242</requisite> <provider>0</provider> <phone>79168704084</phone> <date>20140505 18:00:00</date> <point>12</point> <price>2.68</price> <amount>2</amount> <comiss>0.68</comiss> <wmtranid>130475760170557942</wmtranid> <tranid>635387136170557942</tranid> <dateupd>20140505 18:01:00</dateupd> <rest>4.88</rest> <limit> <day>498.85</day> <month>4998.73</month> </limit> <upexchange>100.12</upexchange> <course>37.33</course> </payment> </w3s.response>
2) проведение платежа на WM кошелек
- запрос
<w3s.request> <wmid>35********32</wmid> <sign type="1">e4d937fc647a107d3de474d9caf2b29dc973a3fda57138768ee9e85d15576f8d4d9a5c52633300f36cb39f1dd744d8a957165b3260c0cda0fd9054d62c57ca547075</sign> <payment id="185" mode="0" currency="RUB" exchange="USD"> <requisite>R773257789242</requisite> <provider>0</provider> <phone>79168704084</phone> <price>100.12</price> <date>20140505 18:00:00</date> <point>12</point> </payment> </w3s.request>
- ответ
<w3s.response> <retval>0</retval> <retdesc><![CDATA[Платеж успешно зачислен]]></retdesc> <payment id="185" currency="RUB" exchange="USD" mode="0"> <requisite>R773257789242</requisite> <provider>0</provider> <phone>79168704084</phone> <date>20140505 18:00:00</date> <point>12</point> <price>2.68</price> <amount>2</amount> <comiss>0.68</comiss> <wmtranid>13047576</wmtranid> <tranid>170557942</tranid> <dateupd>20140505 18:02:00</dateupd> <rest>4.88</rest> <limit> <day>498.85</day> <month>4998.73</month> </limit> <upexchange>100.12</upexchange> <course>37.33</course> </payment> </w3s.response>
3) проверка на возможность оплаты услуг МТС
- запрос
<w3s.request> <wmid>35********32</wmid> <sign type="1">e4d937fc647a107d3de474d9caf2b29dc973a3fda57138768ee9e85d15576f8d4d9a5c52633300f36cb39f1dd744d8a957165b3260c0cda0fd9054d62c546ada737a</sign> <payment id="186" mode="1" currency="RUB"> <requisite>9168704084</requisite> <provider>1</provider> <phone>79168704084</phone> <price>400</price> <date>20140505 19:00:00</date> <point>12</point> </payment> </w3s.request>
- ответ
<w3s.response> <retval>0</retval> <retdesc> <![CDATA[Запрос успешно обработан]]> </retdesc> <payment id="186" currency="RUB" mode="1"> <requisite>9168704084</requisite> <provider>1</provider> <phone>79168704084</phone> <date>20140505 19:00:00</date> <point>12</point> <price>400</price> <amount>387.97</amount> <comiss>12.03</comiss> <wmtranid>130500589733541270</wmtranid> <tranid>635411965733541270</tranid> <dateupd>20140717 12:22:53</dateupd> <rest>28.91</rest> <limit> <day>196</day> <month>996</month> </limit> </payment> </w3s.response>
4) проведение оплаты услуг МТС
- запрос
<w3s.request> <wmid>35********32</wmid> <sign type="1">e4d937fc647a107d3de474d9caf2b29dc973a3fda57138768ee9e85d15576f8d4d9a5c52633300f36cb39f1dd744d8a957165b3260c0cda0fd9054d62c34ca64ad18</sign> <payment id="186" mode="0" currency="RUB" exchange="USD"> <requisite>9168704084</requisite> <provider>1</provider> <phone>79168704084</phone> <price>400</price> <date>20140505 19:00:00</date> <point>12</point> </payment> </w3s.request>
- ответ
<w3s.response> <retval>0</retval> <retdesc> <![CDATA[ Платеж успешно зачислен ]]> </retdesc> <payment id="186" currency="RUB" mode=01"> <requisite>9168704084</requisite> <provider>1</provider> <phone>79168704084</phone> <date>20140505 19:00:00</date> <point>12</point> <price>400</price> <amount>387.97</amount> <comiss>12.03</comiss> <wmtranid>130500589</wmtranid> <tranid>3541270</tranid> <dateupd>20140717 12:22:53</dateupd> <rest>28.91</rest> <limit> <day>196</day> <month>996</month> </limit> </payment> </w3s.response>
См. также
XML-интерфейсы зачисления WMZ и WME