为 ActiveMerchant CreditCard 对象实现 find()、save() ActiveRecord 方法

Posted

技术标签:

【中文标题】为 ActiveMerchant CreditCard 对象实现 find()、save() ActiveRecord 方法【英文标题】:Implement find(), save() ActiveRecord methods for ActiveMerchant CreditCard object 【发布时间】:2010-12-07 21:18:05 【问题描述】:

在 Ruby on Rails 应用程序中为 ActiveMerchant ActiveMerchant::Billing::CreditCard 对象实现 ActiveRecord 的 find()save() 方法的最佳方法是什么?

我希望我的信用卡对象继承自 ActiveRecord 和 ActiveMerchant。

警告:我知道将信用卡信息保存到数据库总是被认为是个坏主意,最好使用便于您存储卡的网关。假设这是必要的,并且满足了合适的安全标准(PCI DSS、文件系统和数据库加密、网络分离等)。

【问题讨论】:

【参考方案1】:

我使用以下方法创建了一个标准 Rails ActiveRecord 模型:

./script/generate model CreditCard first_name:string last_name:string number:string month:integer year:integer type:string start_month:integer start_year:integer issue_number:string

这与信用卡的 ActiveRecord 定义相匹配。

此外,ActiveMerchant 提供ActiveMerchant::Billing::CreditCardMethods,引用 ActiveMerchant 开发团队的话说是:

可包含在自定义信用卡对象中的便捷方法,例如基于 ActiveRecord 的信用卡对象。

我已将ActiveMerchant::Billing::CreditCardMethods 包含在我的信用卡模型中,并将翻译验证以确保我对信用卡的定义与 ActiveMerchant 的匹配。

【讨论】:

以上是关于为 ActiveMerchant CreditCard 对象实现 find()、save() ActiveRecord 方法的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMerchant PaypalExpress 网关 - 设置谁支付费用

ActiveMerchant 规范无法连接到 API,而开发模式使用相同的凭据工作正常

在 Shopify 中使用 ActiveMerchant 的 Paypal Express 结账

如何使用 ActiveMerchant 和 PayPal Express 跳过订单确认页面

如果 gem 源指定为 git,则 ActiveMerchant ActionView 帮助程序初始化崩溃,但如果它是默认路径或本地路径则有效

贝宝与 ActiveMerchant