如何使用活跃商家将PayPal连接到rails应用程序?任何教程?

时间:2015-04-09 09:18:02

标签: ruby-on-rails ruby paypal activemerchant

有没有关于如何将paypal连接到activemerchant的好教程? Rails cast剧集非常陈旧,我需要Rails 4的东西。另一个问题,在rails cast中,他们在初始化器中启动网关。但是在activemerchant文档中,他们在付款之前就发起了它。我认为它在控制器中。什么是正确而安全的方法呢?

PS:我需要人们去PAYPAL并通过提供信用卡或通过PayPal帐户进行付款。

1 个答案:

答案 0 :(得分:3)

其中一种方法是编写一个包含以下步骤的模块或类。确保您传递了正确的值并且总计正在相加。

<强> 1。准备网关

    paypal_express_params = {
      login: ENV['PAYPAL_LOGIN'],
      password: ENV['PAYPAL_PASSWORD'],
      signature: ENV['PAYPAL_SIGNATURE']
    }

    gateway = ActiveMerchant::Billing::PaypalExpressGateway.new(paypal_express_params)

<强> 2。设置购买

    setup_hash = {
        ip: '170.170.1.1', 
        items: [{name: 'sample', quantity: 1, amount: 100_00, description: 'desc'}], 
        subtotal: 10000, 
        shipping: 0, 
        handling: 0, 
        tax: 0, 
        currency: 'USD', 
        return_url: 'http://localhost:3000/success', 
        cancel_return_url: 'http://localhost:3000/failure', 
        allow_guest_checkout: true
    }
    response = gateway.setup_purchase(100_00, setup_hash) # 100 USD

第3。生成PayPal网址

    url = gateway.redirect_url_for(response.token)
    # => https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXXXXXXXXX

之后,您只需在用户完成购买后从PayPal捕获数据。

有几种方法可以做到这一点但重要的是:

  
      
  1. 让它先工作
  2.   
  3. 确保密钥和机密没有在您的Rails代码中进行硬编码
  4.   
  5. 将代码包装在类或模块中以清理内容
  6.   
  7. 阅读PayPal文档(不仅仅是ActiveMerchant)
  8.