Сообщение технической поддержке Тинькофф:
Здравствуйте. Тестируем сейчас API оплаты рекуррентных платежей, и при тестировании функции Charge в ответ приходит ошибка с кодом 4:
{
"Success":false,
"ErrorCode":"4",
"Message":"Запрашиваемое состояние транзакции является неверным.",
"Details":"Изменение статуса недопустимо."
}
Порядок тестирования такой:
- Сначала инициализируем платёж и оплачиваем его в браузере тестовой картой, указанной на странице https://oplata.tinkoff.ru/landing/develop/test в разделе Проверка рекуррентных платежей. Передаваемые данные:
{
TerminalKey: '1543322610200DEMO',
Amount: 5500,
OrderId: 'ihzk46zb5jj',
CustomerKey: 'ihzxxxzb5ji',
Recurrent: 'Y',
Token: '7751cf67xxxad862b2e86769d4895fd4d9980c1c7e457d6c6a52c74aca7312e2'
}
В ответ приходит:
{
Success: true,
ErrorCode: '0',
TerminalKey: '1543xxx610200DEMO',
Status: 'NEW',
PaymentId: '156896715',
OrderId: 'ihzk46zb5jj',
Amount: 5500,
PaymentURL: 'https://securepay.tinkoff.ru/new/SgQ1ZtXZ'
}
Успешно.
- Далее выполняем запрос GetCardList, чтобы получить данные по привязанным картам пользователя
Передаваемые данные:
{
CustomerKey: 'ihzk4xxx5ji',
Token: 'fea24fef58xxx77fc8b503c3fbb7ddf89bf051705218ca52fb2f2f0954569e1'
}
В ответ приходит:
[
{ CardId: '17091576',
Pan: '400000******0333',
Status: 'A',
RebillId: '157xxx2531275',
CardType: 0,
ExpDate: '1122' }
]
- Далее выполняем запрос Charge со следующими данными:
{
TerminalKey: '1543322xxx200DEMO',
PaymentId: '15xxx6715',
RebillId: '15764xxx31275',
Token: '0a39cb66abxxxdc5465e81109cdf6a3039d902d23314a4fa868fc05ac92a821d'
}
В ответ приходит:
{
"Success":false,
"ErrorCode":"4",
"Message":"Запрашиваемое состояние транзакции является неверным.",
"Details":"Изменение статуса недопустимо."
}
Почему происходит эта ошибка, и как её успешно совершить платёж?