3

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

4

2 回答 2

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
于 2011-04-11T12:46:00.087 回答
3

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

Here's a good article on the fees and recommended practices for doing zero-dollar authorizations: https://www.x.com/docs/DOC-1561

于 2011-07-06T17:53:54.873 回答