[POST] Изменение стоимости продления подписки (AR, PMR)

POST /v1/subscription/modify_next_billing_price

Запрос позволяет изменить стоимость продления (только сумму стоимости, валюта не может быть изменена). Обратите внимание, запрос влияет только на определенную подписку покупателя. Данные о продлении в каталоге не изменяются.

Вы можете изменить стоимость, только если подписка имеет статус active. В ином случае, если создан заказ на продление, и он ожидает оплаты (подписка имеет статус not_paid) или подписка отменена (подписка имеет статус cancelled), изменить стоимость нельзя. Вы можете узнать текущий статус подписки с помощью запроса на получение данных подписки.

После изменения, переданная стоимость будет действовать начиная со следующего продления на всем протяжении жизни подписки, включая последующие дочерние заказы, или пока не будут передано новое значение.

content-type
string
required
MIME-тип данных в теле запроса.
Должен быть равен "application/json".
AuthorizationJWT
required
Авторизационный токен.
  • Формат значения: Bearer [token]
  • Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API.
id
required
Идентификатор подписки
Формат: NN_MM, где NN это идентификатор заказа, который инициировал подписку (родительский заказ).
Вы можете получить его из:
currency
string
required
Код валюты, в которой передана новая стоимость продления подписки. Должна совпадать с текущей валютой подписки. Вы можете узнать текущую валюту подписки с помощью запроса на получение данных подписки.
  • Формат: ISO 4217 alpha-3, 3 символа.
  • Варианты значений см. в справочнике.
next_billing_price
string
required
Стоимость продления (с учетом VAT, количества, скидки).
  • Формат: Число с 2 десятичными знаками, разделитель - точка.
  • Передается как строка.
{
 "id": "111111_22222",
 "currency": "USD",
 "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
array [objects]
required
Список ошибок.
errors / [error object]
/
error
number
required
Код ошибки.
errors / [error object]
/
message
string
required
Описание ошибки.
{
 "errors": [{
   "error": 7310,
   "message": "Impossible to change the renewal price. Invalid order currency."
  }
 ]
}