Повторная зарядка с Payflow Pro - PullRequest
3 голосов
/ 09 апреля 2011

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

Ответы [ 2 ]

4 голосов
/ 11 апреля 2011

Ладно, в конце концов сам разобрался, только к вашему сведению: это не имеет никакого отношения к периодическим платежам. Вы можете просто «СОХРАНИТЬ» кредитную карту, выдав и аннулировав небольшую транзакцию, а затем, вместо ввода данных кредитной карты, вы помещаете возвращенный запрос 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
3 голосов
/ 06 июля 2011

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

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

...