[POST] Проведение автоплатежа

POST /v1/payment/recurring

Запрос предназначен для создания повторного платежа и инициации его автооплаты. Для автооплаты используются ранее сохраненные платежные данные.

В результате выполнения запроса создается объект Платеж в статусе not paid после чего инициируется автооплата.

Сценарий использования:

Условия начала обработки запроса:

  • Выполнена первая операция сценария:
    • Ранее был создан платеж, зарегистрированный в качестве родительского платежа (передано поле "recurring_indicator":true).
    • Родительский платеж успешно завешен (проведена оплата) и имеет статус обработки paid.

Проверка результата оплаты выполняется отдельно, см. описание в сценариях.

content-type
string
required
MIME-тип данных в теле запроса.
Должен быть равен "application/json".
AuthorizationJWT
required
Авторизационный токен.
  • Формат значения: Bearer [token]
  • Вместо [token] подставьте значение token, полученное в ответ на запрос к Authentication API.
parent_order_id
number
required
Идентификатор родительского платежа на стороне Softline Payments.
Вы получаете этот идентификатор в ответ на запрос создания платежа.
payment_id
string
required
Идентификатор повторного платежа на вашей стороне.
  • Информационное поле, уникальность идентификатора не проверяется.
  • В случае, если будет сделан повторный запрос с одним и тем же идентификатором, то будет создан новый платеж.
  • Допустимы только цифры, латинские буквы, символы "-" и "_".
currency
string
required
Валюта повторного платежа.
amount
string
required
Сумма повторного платежа.
  • Формат: Число, до 2 десятичных знаков, разделитель - точка.
  • Сумма платежа должна быть строго больше нуля.
payment_description
string
Описание платежа.
order_id
number
required
Уникальный идентификатор повторного платежа на стороне Softline Payments.
{
  "order_id": 123456
}

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

Код ответа сервера Описание
HTTP/1.1 400 Bad Request Запрос не валиден (ошибка в параметрах; не переданы необходимые данные и т.п.).
В теле ответа будет передан дополнительный код ошибки (один или несколько).
HTTP/1.1 401 Unauthorized Неуспешная аутентификация.
В теле ответа будет передан дополнительный код ошибки (один или несколько). 
HTTP/1.1 404 Not found Неверный URL запроса или не найден родительский платеж. Проверьте адрес запроса. В теле ответа может быть передан дополнительный код ошибки (один или несколько). 
HTTP/1.1 500 Request Error Ошибка на стороне сервера. Повторите запрос позднее или обратитесь в службу поддержки.
Error Message Описание
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются.
110 JSON is not valid. Автоплатеж не может быть выполнен. Структура параметров запроса не валидна. Проверьте параметры в теле запроса на соответствие формату JSON.
111 Invalid data format (Content-type). Автоплатеж не может быть выполнен. Неправильный заголовок запроса. Content-type должен быть равен application/json.
6000 Unable to generate payment. Please contact technical support. Автоплатеж не может быть выполнен.
В том числе, если переданная валюта (currency) не доступна для использования. Обратитесь в поддержку.
Если хотя бы одна ошибка из списка ниже найдена, то проверка запроса не прерывается. В ответе может быть возвращено несколько ошибок.
6010 Invalid field value: [наименование параметра] Запрос не валиден, например, не заполнен обязательный параметр, передано неверное название параметра, тип или формат значения параметра неверны.
В том числе ошибка будет возвращена, если в параметре передано null, и этот вариант значения не указан как допустимый.
6210 Recurring payment processing is not available. Parent payment [parent_order_id] has not been completed successfully. Автоплатеж не может быть выполнен. Родительский платеж с переданным идентификатором (parent_order_id) не был выполнен успешно (имеет статус not paid).
6215 Recurring payment processing is not available. Parent payment [parent_order_id] has been deleted. Автоплатеж не может быть выполнен. Родительский платеж с переданным идентификатором (parent_order_id) был удален (имеет статус deleted).
6220 Recurring payment processing is not available. Parent payment was made using different currency [код валюты по ISO из родительского платежа]. Автоплатеж не может быть выполнен. Переданная валюта автоплатежа (currency) не совпадает с валютой родительского платежа. В ответе будет возвращен код валюты из родительского платежа.
6230 Recurring payment processing for payment method [платежный метод из родительского платежа] is not available. Автоплатеж не может быть выполнен. В родительском платеже с переданным идентификатором (parent_order_id) установлен платежный метод, который не поддерживает проведение автоплатежей. В ответе будет возвращен код платежного метода из родительского платежа.
6240 Recurring payment processing is not available. During payment [parent_order_id] processing, failed to save data for next payments. Автоплатеж не может быть выполнен. В родительском платеже с переданным идентификатором (parent_order_id) не сохранены платежные данные.
6250 Parameter recurring_indicator = true has not been set for payment [parent_order_id]. Автоплатеж не может быть выполнен. Платеж с переданным идентификатором (parent_order_id) не зарегистрирован в качестве родительского (recurring_indicator не равен true).
6260 Recurring payment processing is not available. This payment method is not available for this payment amount. Автоплатеж не может быть выполнен. Переданный метод оплаты (payment_method) не доступен для переданной суммы платежа (amount).
6265 Recurring payment processing is not available. This payment method is not available. Please contact technical support. Автоплатеж не может быть выполнен. Переданный метод оплаты (payment_method) не доступен. Обратитесь в поддержку.

Справочник этих ошибок одинаковый для всех API, которые используют авторизацию по токену.

Error Message Описание
Если хотя бы одна ошибка из списка ниже найдена, то она возвращается в ответе на запрос, остальные ошибки не проверяются.
6200 Payment [order_id] is not found. Автоплатеж не может быть выполнен. Родительский платеж с переданным идентификатором (parent_order_id) не найден или у вас нет прав на выполнение операции с ним.
errors
array [objects]
required
Список ошибок.
errors / [error object]
/
error
number
required
Код ошибки.
errors / [error object]
/
message
string
Описание ошибки.
{
  "errors": [{
      "error": 6210,
      "message": "Recurring payment processing is not available. Parent payment was made using different currency ARS."
    }
  ]
}