Skip to content

Instantly share code, notes, and snippets.

@ivansglazunov
Last active April 14, 2021 23:46
Show Gist options
  • Save ivansglazunov/7d4176a25c8f48a34206dec388a6eaf2 to your computer and use it in GitHub Desktop.
Save ivansglazunov/7d4176a25c8f48a34206dec388a6eaf2 to your computer and use it in GitHub Desktop.
Не проходит тестовый charge в тестовом мобильном терминале

Сообщение технической поддержке Тинькофф:

Здравствуйте. Тестируем сейчас API оплаты рекуррентных платежей, и при тестировании функции Charge в ответ приходит ошибка с кодом 4:

{
  "Success":false,
  "ErrorCode":"4",
  "Message":"Запрашиваемое состояние транзакции является неверным.",
  "Details":"Изменение статуса недопустимо."
}

Порядок тестирования такой:

  1. Сначала инициализируем платёж и оплачиваем его в браузере тестовой картой, указанной на странице 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'
}

Успешно.

  1. Далее выполняем запрос GetCardList, чтобы получить данные по привязанным картам пользователя

Передаваемые данные:

{
  CustomerKey: 'ihzk4xxx5ji',
  Token: 'fea24fef58xxx77fc8b503c3fbb7ddf89bf051705218ca52fb2f2f0954569e1'
}

В ответ приходит:

[
  { CardId: '17091576',
    Pan: '400000******0333',
    Status: 'A',
    RebillId: '157xxx2531275',
    CardType: 0,
    ExpDate: '1122' }
]
  1. Далее выполняем запрос Charge со следующими данными:
{
  TerminalKey: '1543322xxx200DEMO',
  PaymentId: '15xxx6715',
  RebillId: '15764xxx31275',
  Token: '0a39cb66abxxxdc5465e81109cdf6a3039d902d23314a4fa868fc05ac92a821d'
}

В ответ приходит:

{
  "Success":false,
  "ErrorCode":"4",
  "Message":"Запрашиваемое состояние транзакции является неверным.",
  "Details":"Изменение статуса недопустимо."
}

Почему происходит эта ошибка, и как её успешно совершить платёж?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment