我现在正在使用 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