如何使用 paypal / ruby​​ on rails / 活跃商家创建安全的信用卡网关

Posted

技术标签:

【中文标题】如何使用 paypal / ruby​​ on rails / 活跃商家创建安全的信用卡网关【英文标题】:How to create a secure credit card gateway using paypal / ruby on rails / active merchant 【发布时间】:2010-10-02 01:10:02 【问题描述】:

我现在正在使用 Active Merchant 和 PayPal 沙盒创建商店。它似乎工作正常,但我认为它甚至不是远程安全的。我真的不太了解 HTTPS 以及如何实现安全连接。

我目前正在会话中传递信用卡和账单信息(可能不是最聪明的想法)。我当前的代码发布在下面。为了使它成为一个安全、可用的商店,我真的需要关于采取什么方向和步骤的帮助。

 def payment
session[:billing_address] = params[:billing_address] 
 end

 def summary
    @credit_card = params[:credit_card]
    session[:credit_card] = params[:credit_card]
    @billing_address = session[:billing_address]
    @cart = get_cart
    @purchases  = @cart.purchases
    @total = @cart.total
 end

 def finish
     @cart = get_cart
     @total = @cart.total

     credit_card = ActiveMerchant::Billing::CreditCard.new( session[:credit_card] )

     billing_address = session[:billing_address]

     flash[:notice] = credit_card.errors and return unless credit_card.valid?

     gateway = ActiveMerchant::Billing::PaypalGateway.new(:login=>$PAYPAL_LOGIN, :password=>$PAYPAL_PASSWORD)

     res = gateway.authorize(@total, credit_card, :ip=>request.remote_ip, :billing_address=>billing_address)

     if res.success?
        gateway.capture(@total, res.authorization)
        flash[:notice] = "Authorized" 
     else
        flash[:notice] = "Failure: " + res.message.to_s
     end    
  end

【问题讨论】:

【参考方案1】:

关于如何实现 ssl 有一个很好的 railscast。

http://railscasts.com/episodes/143-paypal-security

【讨论】:

好的。但是可以将信用卡信息传递给会话中的视图吗?是否足够安全。另外,我如何使它与 https 一起使用。 如果您想让整个站点在 HTTPS 下运行,最简单的方法是使用 Passenger (modrails.com) 运行 Rails 应用程序,然后让 Apache 为您的虚拟主机使用 HTTPS重新运行 (securityfocus.com/infocus/1818) 关于是否使用会话传递信用卡信息。我记得读过所有会话信息都是加密的,它使用表单中的身份验证密钥,但我不是该领域的权威。

以上是关于如何使用 paypal / ruby​​ on rails / 活跃商家创建安全的信用卡网关的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 paypal / ruby​​ on rails / 活跃商家创建安全的信用卡网关

如何将 paypal 与 ruby​​ on rails 应用程序集成?

Paypal 经常性问题 ruby​​ on rails

paypal gem 多个帐户 ruby​​ on rails

美国以外的 Ruby on Rails 和 Paypal

商家的账户无法处理 activemerchant + Ruby on rails + Paypal 的交易