2009-06-29 29 views
3

我使用ActiveMerchant和Braintree作为我的付款处理器。我想利用Braintree的客户保险库功能来存储信用卡信息。如何在ActiveMerchant中使用存储的付款来源进行购买?

存储没问题,但我无法弄清楚用customer_vault_id收取信用卡的正确方法。根据Braintree documentation,它似乎很直接,但我不确定如何通过ActiveMerchant传递。如果我尝试使用nil发送带有空数据的信用卡,并从ActiveMerchant发送错误,我会从Braintree收到验证错误。这似乎是显而易见的唯一一件事就是送customer_vault_idpurchase_options散列,如:

GATEWAY.purchase(self.price_in_cents, self.credit_card, 
       :ip => self.ip_address, 
       :customer_vault_id => 12345) 

这是使用存储客户金库正确的方法是什么?

如果是这样,如果我想使用存储的客户保险箱作为付款方式,该行的正确第二个参数是什么?

谢谢。

回答

2

我发现您可以将customer_vault_id替换为采购方法中ActiveMerchant::Billing::CreditCard的字符串。该文档真的没有任何迹象表明这个:(

相关问题