АктивныйПродавец:Как авторизовать карты при использовании шлюзов, не поддерживающих операцию void?
-
19-08-2019 - |
Вопрос
Я работаю над компонентом биллинга приложения Ruby on Rails, используя ActiveMerchant.Платежный шлюз, который мы выбрали: ОплатаЭкспресс.
Примеры кода, которые я вижу, например, приведенные ниже, используйте authorize()
и void()
для проверки действительности карты:
def test_card!
auth_response = gateway.authorize(100, card)
gateway.void(auth_response.authorization) if auth_response.success?
raise AuthorizationFailed.new(auth_response) unless auth_response.success?
end
Однако PaymentExpress не поддерживает действие void.Есть ли альтернативный способ выполнить это действие авторизации или можно ли исключить действие void, учитывая, что у таких шлюзов, как PaymentExpress, срок действия запроса на авторизацию истекает через 7 дней?
не могу найти упоминания о void
Просматривая авторизацию в документации или Google, я не могу найти никаких указаний на то, насколько это важно.
Некоторая помощь?
Решение 2
Оказывается, что, по крайней мере с помощью PaymentExpress, они автоматически выполняют авторизацию как часть процесса хранения своей карты. Если авторизация не удалась, она просто не будет хранить карту, возвращая & Quot; INVALID CARD & Quot; вместо. Это видно из их веб-приложения для поиска транзакций: при хранении карточек на карточке разрешается 1 доллар США, а через неделю она автоматически аннулируется.
Другие советы
Некоторые процессоры карт отмечают подобную транзакцию как потенциальное мошенничество.Им не нравится, когда за небольшими тестовыми транзакциями следуют более крупные транзакции.American Express, в частности, несколько агрессивна в этом отношении, поскольку они будут склонны отклонять транзакцию, когда вы вернетесь и попытаетесь получить реальную сумму.
Если вы планируете взимать с клиента сумму x
, то вам следует авторизовать его на сумму x
для подтверждения карты.Затем вы можете использовать предыдущую авторизацию и выполнить захват или форс-пост, чтобы завершить зарядку.Таким образом, клиент всегда будет видеть только нужную сумму, ожидающую и рассчитанную в его выписке.