[POST] Изменение стоимости продления подписки (AR, PMR)
Описание запроса
POST /v1/subscription/modify_next_billing_price
Запрос позволяет изменить стоимость продления (только сумму стоимости, валюта не может быть изменена). Обратите внимание, запрос влияет только на определенную подписку покупателя. Данные о продлении в каталоге не изменяются.
Вы можете изменить стоимость, только если подписка имеет статус active. В ином случае, если создан заказ на продление, и он ожидает оплаты (подписка имеет статус not_paid) или подписка отменена (подписка имеет статус cancelled), изменить стоимость нельзя. Вы можете узнать текущий статус подписки с помощью запроса на получение данных подписки.
После изменения, переданная стоимость будет действовать начиная со следующего продления на всем протяжении жизни подписки, включая последующие дочерние заказы, или пока не будут передано новое значение.
Данные для отправки запроса
- Endpoint URL:
- Метод: POST
- Формат: JSON
- Авторизация: с помощью токена
- Формат значения:
Bearer [token]
- Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API.
Формат: NN_MM, где NN это идентификатор заказа, который инициировал подписку (родительский заказ).
Вы можете получить его из:
- Webhook-оповещения (subscription.id)
- Из ответа на запрос к Orders API
- Формат: ISO 4217 alpha-3, 3 символа.
- Варианты значений см. в справочнике.
Пример запроса
{
"id": "111111_22222",
"currency": "RUB",
"next_billing_price": "80.00"
}
Ответ на запрос
В ответ на запрос вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Положительный ответ
При успешной обработке запроса вы получите код ответа сервера HTTP/1.1 200 OK.
Ответ об ошибке
В случае ошибки при обработке запроса вы получите код ответа сервера, соответствующий результату обработки.
В зависимости от кода в теле ответа могут присутствовать дополнительные параметры.
Справочник HTTP-кодов ответа сервера при ошибке
Код ответа сервера | Описание |
HTTP/1.1 400 Bad Request | Запрос не валиден (ошибка в параметрах; не переданы необходимые данные и т.п.). В теле ответа будет передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 401 Unauthorized | Неуспешная аутентификация. В теле ответа будет передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 404 Not found | Неверный URL запроса или подписка не найдена. Проверьте адрес запроса. В теле ответа может быть передан дополнительный код ошибки (один или несколько). |
HTTP/1.1 500 Request Error | Ошибка на стороне сервера. Повторите запрос позднее или обратитесь в службу поддержки. |
Справочник дополнительных кодов ошибок для HTTP 400
Error | Message | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
110 | JSON is not valid. | Запрос не может быть выполнен. Структура полей запроса не валидна. Проверьте поля в теле запроса на соответствие формату JSON. |
111 | Invalid data format (Content-type). | Запрос не может быть выполнен. Неправильный заголовок запроса. Content-type должен быть равен application/json. |
7000 | No access to subscription management. Please contact technical support. | Запрос не может быть выполнен. Не получилось определить настройки подключения. Пожалуйста, обратитесь в службу поддержки. |
Если хотя бы одна ошибка из списка ниже найдена, то проверка запроса не прерывается. В ответе может быть возвращено несколько ошибок. |
||
7010 | Invalid field value: [наименование параметра]. | Запрос не может быть выполнен. Запрос не валиден, например, не идентификатор подписки имеет неверный формат. В том числе ошибка будет возвращена, если в поле передано null, и этот вариант значения не указан как допустимый в описании поля. |
7310 | Impossible to change the renewal price. Invalid order currency. | Стоимость продления подписки не может быть изменена, так как переданная валюта (currency) не соответствует текущей валюте подписки. |
7320 | Impossible to change the renewal price. The subscription status is not_paid (payment pending). | Стоимость продления подписки не может быть изменена, так как на текущий момент заказ на продление уже создан и ожидает оплаты (статус подписки not_paid). Вы можете изменить стоимость только, если подписка имеет статус active. |
7330 | Impossible to change the renewal price. The subscription status is cancelled (cancelled). | Стоимость продления подписки не может быть изменена, так как на текущий момент подписка отменена (статус подписки cancelled). Вы можете изменить стоимость только, если подписка имеет статус active. |
7900 | Failed to execute the action with the subscription. Please contact Technical Support. | Действие с подпиской недоступно по техническим причинам на нашей стороне. Пожалуйста, повторите запрос позднее или обратитесь в службу поддержки. |
Справочник дополнительных кодов ошибок для HTTP 401
Справочник этих ошибок одинаковый для всех API, которые используют авторизацию по токену.
Справочник дополнительныхкодов ошибок для HTTP 404
Error | Message | Описание |
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются. | ||
7400 | Subscription not found. | Подписка с переданным идентификатором не найдена, или у вас нет прав на получение ее данных. |
Пример ответа об ошибке
{
"errors": [{
"error": 7310,
"message": "Impossible to change the renewal price. Invalid order currency."
}
]
}