使用Payflow Pro重复充电

时间:2011-04-08 20:57:38

标签: activemerchant payflowpro

这可能是Payflow Pro技术支持的更多问题,但无论如何。我们正尝试使用ActiveMerchant通过Payflow Pro付款重复收取一张信用卡。我们需要客户提供一次信用卡信息,然后每个月收取可变金额的费用。但是,Payflow API中似乎没有任何明确的STORE方法,即使它必须以某种方式可行,因为RECURRING计费是标准的一部分。我们是否遗漏了某些内容并且有方法或者我们必须使用一些解决方法?

2 个答案:

答案 0 :(得分:4)

好的,最后我自己弄清楚了,仅供参考:这与定期付款无关。您可以通过发放和取消一些少量交易来简单地“存储”信用卡,然后,而不是放置信用卡详细信息,您将返回的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

答案 1 :(得分:3)

是的,这也是我解决这个问题的方式。 PNRef对于实施您自己的定期计费系统非常方便......但是,我认为,您将被收取1美元的授权和无效金额,因为VISA和其他人开始严厉打击使用这些帐户作为帐户验证。他们现在建议您使用ZDA(零金额)授权,这些授权返回错误代码0和响应消息“已验证”而不是“已授权”。这适用于所有商家银行 - 除非PayPal是您的商家银行,在这种情况下,您将收到错误代码4 - “无效金额”。如果PayPal是您的商业银行,他们只是建议进行1美元的授权和无效,显然他们承担了VISA费用。

这是一篇关于执行零美元授权的费用和推荐做法的好文章: https://www.x.com/docs/DOC-1561