使用 activemerchant 保存付款以备后用
Posted
技术标签:
【中文标题】使用 activemerchant 保存付款以备后用【英文标题】:Saving payment for later with activemerchant 【发布时间】:2015-02-26 03:53:56 【问题描述】:Active Merchant 似乎是一个不错的付款方式。但是,我需要能够保存客户的付款信息,然后在以后从卡中扣款(即在发货时而不是在下订单时)。
Braintree 和 Stripe 都可以通过给我一个客户 ID 来保存到我的数据库来做到这一点。然后我会在某个日期使用这个 ID 向客户收费。
我查看了Active Merchant Stripe code,它的purchase()
有cmets:
# To create a charge on a customer, call
# purchase(money, nil, :customer => id, ... )
似乎有一种方法可以获取客户 ID。
如何让 Active Merchant 创建客户对象并返回 Stripe 和 Braintree 的客户 ID?所有支持这种支付方式的网关都支持这个功能吗?
【问题讨论】:
【参考方案1】:我在布伦特里工作。如果您还有其他问题,可以随时get in touch with our support team。
在 Braintree 保险库中创建或更新客户/信用卡的各种方法在响应中返回 :customer_vault_id
for example:
Response.new(result.success?, message_from_result(result),
:braintree_customer => (
customer_hash(result.customer, :include_credit_cards) if result.success?
),
:customer_vault_id => (
result.customer.id if result.success?
),
:credit_card_token => (
result.customer.credit_cards[0].token if result.success?
)
,
:authorization => (result.customer.id if result.success?)
)
您可以存储该 ID 并在以后调用 purchase
时使用它。
【讨论】:
以上是关于使用 activemerchant 保存付款以备后用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PayPal REST API 和 PayPal PHP SDK 保存 PayPal 帐户以备将来付款
使用 Moneris Canada 在 activemerchant 中定期计费
使用 ActiveMerchant + Stripe 进行定期付款