Резервировать вебхуки (инвентарь по запросу)

Настройте HTTPS конечную точку на уровне предложения, которая возвращает значения полей для СЛОЖНЫХ объявлений. Платеж все равно завершится, если вызов не удался; вы можете повторить попытку или выполнить вручную.

Получите лицензии, аккаунты или ключевые значения с вашего сервера, когда покупатель платит.

Когда использовать резервные вебхуки

Используйте это для СЛОЖНОГО (уникального единичного) инвентаря, когда вы создаете ключи или аккаунты в своей системе во время покупки. Локальные запасы всегда предпочтительнее; вебхук заполняет только нехватку.

  • Работает только с МГНОВЕННОЙ автоматической доставкой, когда каждая единица действительно назначена.
  • Настройте уровень предложения по умолчанию или переопределите для каждого варианта ценообразования.
  • Только HTTPS. Необязательная HMAC подпись соответствует исходящим вебхукам.

Безопасные сбои при оплате

Если ваша конечная точка истекает или возвращает недействительные данные, заказ остается ОПЛАЧЕННЫМ. Покупатель будет обременен; вы увидите ошибку в заказе и сможете повторить резервирование или вручную прикрепить ключи.

Запрос контракта

После оплаты RMT POST делает один вызов reserve.item для каждой недостающей единицы с заказом, предложением, вариантом, схемой полей и количеством 1. Необязательный шаблон запроса JSON объединяется с {{placeholders}}.

Каноническое тело POST (усеченное)

json
{
  "id": "rsv_…",
  "type": "reserve.item",
  "order": { "uid": "…", "reference": "…", "url": "…" },
  "offer": { "url": "…", "title": "…", "pageUrl": "…" },
  "option": { "id": 1, "name": "Стандарт" },
  "fields": [{ "id": 10, "name": "Лицензия", "type": "text", "required": true }],
  "quantity": 1
}

Ответ и сопоставление полей

Возвращайте 2xx JSON. Сопоставьте пути, такие как $.license, на поля товара, или верните { "entries": [{ "fieldId": 10, "value": "KEY-…" }] }.

Удобный ответ

json
{
  "entries": [
    { "name": "Лицензия", "value": "AAAA-BBBB-CCCC" }
  ]
}
  • Только лицензия: сопоставьте одно текстовое поле из $.license или $.key.
  • Аккаунт: сопоставьте поля электронной почты и пароля из $.email и $.password.
  • Недостающие обязательные поля после сопоставления считаются неудачей.

Тестирование, повторная попытка и безопасность

Используйте Тест в редакторе предложений (отправляет dryRun: true). На странице заказа повторите резервирование после исправления вашей конечной точки. Никогда не записывайте секреты или полные ключи в электронных письмах.

  1. 1Сохраните HTTPS URL, карту ответа и необязательный секрет на шаге элементов предложения.
  2. 2Запустите Тест и подтвердите сопоставленные предварительные просмотры.
  3. 3При сбое откройте заказ, повторите резервирование или создайте/назначьте ключ вручную.

Не вызывайте резервирование до оплаты

RMT вызывает вашу конечную точку только после успешной оплаты, поэтому заброшенные оформления не сжигают лицензии.