Ruby on rails 如何使用active merchant将PayPal连接到rails应用程序?有教程吗?

Ruby on rails 如何使用active merchant将PayPal连接到rails应用程序?有教程吗?,ruby-on-rails,ruby,paypal,activemerchant,Ruby On Rails,Ruby,Paypal,Activemerchant,有没有关于如何将paypal连接到activemerchant的好教程?Rails的演员阵容非常老,我需要一些Rails 4的东西。还有一个问题,在rails cast中,它们在初始化器中启动网关。但是在activemerchant文档中,他们在付款之前就启动了它。我想它在控制器里。什么是正确和安全的方法 PS:我需要人们去PAYPAL,通过信用卡或PAYPAL帐户付款。其中一种方法是编写一个模块或类,其中包含以下步骤。确保传递了正确的值,并且总数正在累积 1。准备网关 paypal_e

有没有关于如何将paypal连接到activemerchant的好教程?Rails的演员阵容非常老,我需要一些Rails 4的东西。还有一个问题,在rails cast中,它们在初始化器中启动网关。但是在activemerchant文档中,他们在付款之前就启动了它。我想它在控制器里。什么是正确和安全的方法


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

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

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。生成贝宝URL

    url = gateway.redirect_url_for(response.token)
    # => https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXXXXXXXXX
之后,您只需在用户完成购买后从PayPal获取数据

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

  • 让它先工作
  • 确保您的Rails代码中没有硬编码密钥和机密
  • 将代码包装到类或模块中,以清理问题
  • 阅读PayPal文档(不仅仅是ActiveMerchant)

  • 其中一种方法是编写一个模块或类来封装以下步骤。确保传递了正确的值,并且总数正在累积

    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。生成贝宝URL

        url = gateway.redirect_url_for(response.token)
        # => https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXXXXXXXXX
    
    之后,您只需在用户完成购买后从PayPal获取数据

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

  • 让它先工作
  • 确保您的Rails代码中没有硬编码密钥和机密
  • 将代码包装到类或模块中,以清理问题
  • 阅读PayPal文档(不仅仅是ActiveMerchant)

  • 其中一种方法是编写一个模块或类来封装以下步骤。确保传递了正确的值,并且总数正在累积

    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。生成贝宝URL

        url = gateway.redirect_url_for(response.token)
        # => https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXXXXXXXXX
    
    之后,您只需在用户完成购买后从PayPal获取数据

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

  • 让它先工作
  • 确保您的Rails代码中没有硬编码密钥和机密
  • 将代码包装到类或模块中,以清理问题
  • 阅读PayPal文档(不仅仅是ActiveMerchant)

  • 其中一种方法是编写一个模块或类来封装以下步骤。确保传递了正确的值,并且总数正在累积

    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。生成贝宝URL

        url = gateway.redirect_url_for(response.token)
        # => https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=XXXXXXXXXXXXXX
    
    之后,您只需在用户完成购买后从PayPal获取数据

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

  • 让它先工作
  • 确保您的Rails代码中没有硬编码密钥和机密
  • 将代码包装到类或模块中,以清理问题
  • 阅读PayPal文档(不仅仅是ActiveMerchant)

  • 你的意思是,你需要将paypal集成到你的应用程序中吗?你的意思是,你需要将paypal集成到你的应用程序中吗?你的意思是,你需要将paypal集成到你的应用程序中吗?有没有一种方法可以像这里这样加密url?我相信他们正在加密页面中的值,以防止用户直接更新隐藏字段的值。我们将用户重定向到我们事先准备好的PayPal页面,因此不需要使用加密(因为我们没有将支付值放置在客户可以访问的隐藏字段中)。我有一个小问题。此代码不会导致购买。。。我看不到钱被转移了!有没有像这里这样加密url的方法?我相信他们是在加密页面中的值,以防止用户直接更新隐藏字段值。我们将用户重定向到我们事先准备好的PayPal页面,因此不需要使用加密(因为我们没有将支付值放置在客户可以访问的隐藏字段中)。我有一个小问题。此代码不会导致购买。。。我看不到钱被转移了!有没有像这里这样加密url的方法?我相信他们是在加密页面中的值,以防止用户直接更新隐藏字段值。我们将用户重定向到我们事先准备好的PayPal页面,因此不需要使用加密(因为我们没有将支付值放置在客户可以访问的隐藏字段中)。我有一个小问题。此代码不会导致购买。。。我看不到钱被转移了!有没有像这里这样加密url的方法?我相信他们是在加密页面中的值,以防止用户直接更新隐藏字段值。我们将用户重定向到我们事先准备好的PayPal页面,因此不需要使用加密(因为我们没有将支付值放置在客户可以访问的隐藏字段中)。我有一个小问题。此代码不会导致购买。。。我看不到钱被转移了!