2011-04-08 76 views
3

這可能是Payflow Pro技術支持的更多問題,但無論如何。我們正在嘗試通過使用ActiveMerchant通過Payflow Pro付款對一張信用卡進行重複收費。我們需要客戶提供信用卡信息一次,然後每月收取不同金額的費用。但是,Payflow API中似乎沒有任何明確的STORE方法,即使它必須以某種方式可能,因爲RECURRING結算是標準的一部分。我們是否錯過了某些方法,或者有什麼方法,或者我們必須使用一些解決方法?使用Payflow Pro重複充電

回答

4

好吧,最後自己想出來,只是供參考:這與經常性付款無關。您可以簡單地通過發行並取消一些小額交易來「存儲」信用卡,然後再將返還的request.token(或payflow條款中的'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 
+0

抱歉這麼晚在這裏,是否有任何限制與pnref充電,我注意到,交易大於1000 $給出錯誤與pnref的支付請求,請建議。 – 2012-10-24 07:13:55

3

是的,這我也解決了這個問題的方式。 PNRefs對於實現您自己的定期結算系統非常方便......但是,我認爲您還需要支付1美元的授權和無效金額,因爲VISA和其他人開始嚴格使用這些帳戶作爲帳戶驗證。他們現在建議您使用ZDA(零美元金額)授權,它返回錯誤代碼0和響應消息「已驗證」而不是「授權」。這適用於所有商業銀行 - 除非PayPal是您的商業銀行,在這種情況下,您將收到錯誤代碼4 - 「無效金額」。如果PayPal是您的商業銀行,他們只是推薦做1美元的授權和無效,顯然他們承擔了VISA費用。

這裏是做零美元的授權上的費用的好文章和推薦做法: https://www.x.com/docs/DOC-1561