【问题标题】:How to connect PayPal to a rails app using active merchant? Any tutorials? [closed]如何使用活跃的商家将 PayPal 连接到 Rails 应用程序?有教程吗? [关闭]
【发布时间】:2015-06-14 13:58:22
【问题描述】:

有没有关于如何将paypal连接到activemerchant的好教程? Rails cast 情节很老,我需要 Rails 4 的东西。另一个问题,在 rails cast 中,它们在初始化程序中启动网关。但在 activemerchant 文档中,他们会在付款前启动它。我认为它在控制器中。什么是正确且安全的方法?

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

【问题讨论】:

  • 你的意思是,你需要将paypal集成到你的应用程序中

标签: ruby-on-rails ruby paypal activemerchant


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • 有没有办法像这里railscasts.com/episodes/143-paypal-security一样加密url?
  • 我相信他们正在加密页面中的值以防止用户直接更新隐藏字段值。我们将用户重定向到我们事先准备好的 PayPal 页面,因此无需使用加密(因为我们没有将付款值放在客户可以访问的隐藏字段中)。
  • 我有一个小问题。此代码无法进行购买...我看不到资金被转移!
猜你喜欢
  • 2015-07-28
  • 2010-10-02
  • 2016-01-23
  • 2013-10-31
  • 2011-03-17
  • 2019-12-14
  • 1970-01-01
  • 2011-12-10
  • 2011-08-28
相关资源
最近更新 更多