Проблема с токеном SagePay - PullRequest
       34

Проблема с токеном SagePay

0 голосов
/ 06 января 2020

Я работаю для клиента, который имеет устаревшую интеграцию с сервером и использует систему токенов. SagePay API показывает, что у них есть 1583 сохраненных токена, однако в их базе данных сохранено только 421 - огромное расхождение, которое мне было предложено исследовать.

Я думаю, что именно это и происходит:

  1. Клиент решает установить флажок «Сохранить данные своей карты» на своем веб-сайте.
  2. POST отправляется в SagePay, содержащий «CreateToken = 1 & StoreToken = 1»
  3. Клиент перенаправляется в SagePay и решает заплатить PayPal вместо этого
  4. Создается токен, и компания получает за него плату, даже если его нельзя использовать

Разработчик до меня только спас токен со страницы уведомлений, только если в качестве способа оплаты использовалась Кредитная карта, что имеет смысл. До сих пор никто не понимал, что SagePay будет создавать и сохранять токены, даже если клиент заплатил через PayPal [?] Конечно, это не должно иметь место!

Это означает, что у нас есть 1162 токена, которые мы просто потеряли контроль из. Хранить столько токенов довольно дорого, и меня попросили посмотреть, смогу ли я уменьшить их количество. Удалить токены с помощью API SagePay довольно просто, то есть, если у вас есть оригинальный токен! В этом случае у нас не все из них.

Я связался со службой поддержки SagePay, но они только что направили меня к API, который не решает проблему. Истекают ли токены, которые мы потеряли, просто естественным образом истекаем и удаляем?

Есть ли что-то, что мы можем сделать, чтобы уменьшить количество токенов?

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Кажется, есть ошибка при отправке createToken = 1 через сервер, когда потребитель выбирает Paypal - если вы используете API отчетов для запроса такого бесполезного токена, срок действия возвращается XXXX - что означает, что он никогда не истечет, поэтому Ваш клиент будет платить за это навсегда!

Я бы связался со службой поддержки Sage, если бы вы были вами, и запросил бы полный список токенов, которые они хранят, затем использовал бы API для запроса getTokenDetails для каждого, а затем отбросил бы те, которые не могут использоваться / больше не активны (через вызов REMOVETOKEN API).

0 голосов
/ 28 января 2020

Существует два способа создания токенов:

  1. Как часть PAYMENT, попросите SagePay дополнительно токенизировать данные карты (чтобы вы могли повторно использовать их без необходимости хранить данные карты)
  2. Кроме оплаты, вы можете отправить произвольные данные карты и попросить SagePay сохранить их в запросе TOKEN.

Если вы создаете токен в автономном TOKEN запрос, а затем отправка PAYMENT с использованием ранее токенизированных данных, я бы порекомендовал решение создать токен как часть PAYMENT (т. е. один запрос API, а не два).

Если вы уже создают токен как часть PAYMENT, единственное решение, которое я мог бы порекомендовать, - отслеживать токены, хранящиеся в вашем хранилище данных, и, если они не использовались для каких-либо платежей, назначить запланированное задание для удаления этих токенов. (используя запрос REMOVETOKEN).

...