Повторная зарядка с Payflow Pro

Вероятно, это больше вопрос технической поддержки Payflow Pro, но в любом случае. Мы пытаемся осуществить повторную зарядку одной кредитной карты с помощью платежа Payflow Pro через ActiveMerchant. Нам нужно, чтобы клиент предоставил информацию о кредитной карте один раз, а затем каждый месяц взимал за переменные суммы. Однако в API Payflow, похоже, нет явного метода STORE, хотя это должно быть как-то возможно, так как биллинг RECURRING является частью стандарта. Мы что-то упускаем и есть методы для этого, или мы должны использовать какой-то обходной путь?

2 ответа

Решение

Ладно, в конце концов понял сам, только к вашему сведению: это не имеет ничего общего с регулярными платежами. Вы можете просто "СОХРАНИТЬ" кредитную карту, выдав и аннулировав небольшую транзакцию, а затем, вместо того, чтобы указывать данные кредитной карты, вы помещаете возвращенный запрос request.token (или "pn_ref" в условиях платежного потока).

Как то так должно работать

module ActiveMerchant #:nodoc:
  module Billing #:nodoc:
     class PayflowGateway

       def store(credit_card, options = {})
         stored = purchase( 1, credit_card)
         return stored unless stored.success?

         # we may charge some money we should not but I guess there is
         # no better way for now
         voided = void(stored.authorization)
         return voided unless voided.success?

        return stored
      end

    end
  end
end

Да, я тоже решил эту проблему. PNRefs очень удобны для реализации вашей собственной системы биллинга с периодическими платежами... Однако, я думаю, вы также будете платить за суммы авторизации и недействительности в размере 1 доллара США, поскольку VISA и другие компании начали использовать их в качестве аккаунта. верификация. Теперь они рекомендуют использовать авторизацию ZDA (сумма в 0 долларов США), которая возвращает код ошибки 0 и ответное сообщение "Подтверждено" вместо "Авторизовано". Это работает со всеми торговыми банками - если PayPal не является вашим торговым банком, в этом случае вы получите код ошибки 4 - "Неверная сумма". Если PayPal является вашим коммерческим банком, они просто рекомендуют сделать авторизацию бездействующей в размере 1 долл. США и, по-видимому, взимают плату за визу.

Вот хорошая статья о сборах и рекомендуемых методах выполнения авторизаций с нулевым долларом: https://www.x.com/docs/DOC-1561

Другие вопросы по тегам