Запрос описания формы
Описание формы запрашивается методом GET по адресу:
https://yoomoney.ru/api/showcase/<pattern_id>
Запрос эквивалентен загрузке документа с удаленного сервера.
Описание простых форм рекомендуется кэшировать на стороне клиента, описания форм изменяются редко.
Последующие шаги многошаговых форм кэшировать нельзя, так как их состояние зависит от данных, введенных покупателем на первом шаге.
Запрос
Формат запроса
GET /api/showcase/<pattern_id> HTTP/1.1
Host: yoomoney.ru
Accept-Language: <lang>
Accept-Encoding: <gzip>
If-Modified-Since: <date>
Параметры URL запроса:
АтрибутТипОписание
pattern_idstringИдентификатор шаблона платежа.
Запрос может содержать следующие HTTP-заголовки:
ЗаголовокОписание
Accept-Language
Код языка, на котором клиент хочет получить описание формы в соответствии с RFC-5646: Tags for Identifying Languages, IANA Language Subtag Registry.
Возможные значения:
  • ru — русский;
  • en — английский.
По умолчанию: ru
Accept-Encoding
Указание по поддержке клиентом сжатия трафика. Поддерживаются значения: gzip — поддержка GZIP transfer encoding (RFC-1952: GZIP file format specification).
По умолчанию: сжатие трафика не применяется.
If-Modified-Since
Если описание формы оплаты было сохранено в кэше клиента, то указывается значение Last-Modified ответа сервера на предыдущий запрос.
Если клиент не кэширует описания форм, заголовок не указывается.
Ответ
Метод возвращает один из следующих вариантов ответа:
  • описание формы оплаты;
  • указание на то, что форма не существует;
  • указание на то, что следует использовать другую форму;
  • указание о том, что форма не изменялась со времени предыдущего запроса.
Возможные HTTP-коды ответа:
HTTP-код ответаОписание
300 Multiple ChoicesУспех, ответ содержит описание формы оплаты. Адрес для отправки формы указывается в HTTP-заголовке Location
301 Moved PermanentlyВместо запрошенной формы оплаты следует использовать другую форму. Адрес новой формы указывается в HTTP-заголовке Location. Тело ответа отсутствует.
304 Not ModifiedОписание формы оплаты со времени предыдущего запроса не изменилось. Тело ответа отсутствует.
404 File Not FoundЗапрошенная форма оплаты не существует или запрещена к использованию. Тело ответа отсутствует.
500 Internal Server ErrorСервис временно недоступен по техническим причинам.
Ответ сервера содержит следующие специальные HTTP-заголовки:
HTTP-код ответаОписание
LocationАдрес для отправки данных формы на сервер. Либо новый адрес формы, если требуется использовать другую форму.
Content-Encodinggzip, если клиент запросил сжатие трафика.
Указание на режим кэширования на стороне клиента. Возможные значения:
  • private — описание формы оплаты следует кэшировать на стороне клиента;
  • no-cache — описание формы оплаты кэшировать запрещено.
Last-ModifiedДата и время последнего изменения описания формы.
Для наглядности некоторые примеры ниже приведены без сжатия, в отформатированном виде. Сервер возвращает JSON-compact-формат в сжатом виде.
Пример: возвращено описание простой формы или первого шага многошаговой формы
HTTP/1.1 300 Multiple Choices
Location: https://yoomoney.ru/api/showcase/5551
Content-Type: application/json
Content-Length: 539
Cache-Control: private
Last-Modified: Thu, 17 Jul 2014 09:00:25 GMT

{
  "money_source":
    [
      "wallet",
      "cards",
      "payment-card",
      "cash"
    ],
    "title":"Квитанции",
    "hidden_fields":{
      "ShopID":"13423",
      "ShopArticleID":"35241",
      "ShowCaseID":"3005",
      "ContractTemplateID":"524867",
      "budgetDocNumber":"0",
      "has_external_status":"",
      "is_withdrawal":""
    },
    "form":
      [
        {
          "type":"text",
          "name":"supplierInn",
          "hint":"10 цифр (для ИП - 12 цифр)",
          "label":"ИНН получателя:",
          "alert":"Пожалуйста, укажите ИНН получателя",
          "required":true,
          "readonly":false,
          "minlength":10,
          "maxlength":12,
          "pattern":"^\\d{10}$|^\\d{12}$"
        },
        {
          "type":"submit",
          "label":"Продолжить"
        }
      ]
}
Пример: перенаправление на новую форму
HTTP/1.1 301 Moved Permanently
Location: https://yoomoney.ru/api/showcase/5551
Пример: форма оплаты не существует или запрещена к использованию
HTTP/1.1 404 Not Found
Content-Length: 0
© 2024, ООО НКО «ЮМани»