【问题标题】:How integrate Paypal Payment with Ruby on Rails如何将 Paypal Payment 与 Ruby on Rails 集成
【发布时间】:2015-09-05 23:28:14
【问题描述】:

我使用这个 gem 将 Paypal 集成到 Ruby Paypal Ruby SDK 所以一切都很完美,现在我可以将用户重定向到我的 PayPal Sandbox 帐户,并且用户可以确认付款。

一旦用户确认付款,它就会使用 URL 中的 PaymentId、Token 和 PayerId 重定向回我的网站。

问题是当我想用这个代码执行付款时

payment = Payment.find(@payment.id)

if payment.execute( :payer_id => params[:PayerId] )
  # Success Message
  # Note that you'll need to `Payment.find` the payment again to access user info like shipping address
else
  payment.error # Error Hash
end

什么都没有发生。

【问题讨论】:

    标签: ruby paypal


    【解决方案1】:

    标准 PayPal 与 Rails 应用 Active Merchant gem 集成:

    第 1 步:

    -> 在  gem 文件中添加“gem activemerchant”

    -> 捆绑安装

    第二步:

    -> 转到“www.developer.paypal.com”并使用美国地址详细信息创建一个帐户(也称为商家帐户)。

    -> 它将在“sandbox.paypal.com”中为买家和卖家(别名促进者)创建两个虚拟测试帐户。

      例如: 
    卖家账号  --->  naveengoud-facilitator@gmail.com
    买家账号  --->  naveengoud-buyer@gmail.com

    -> 查看测试账户详情点击“Dashboard -> Accounts”

    -> 现在通过点击个人资料链接为两个测试帐户设置密码

    第三步:

    -> 转到卖家账户(即促进者)个人资料详细信息并复制 API 凭据,即用户名、密码和签名

      例如:
    用户名:  naveengoud-facilitator_api1.gamil.com
    密码:   VSPALJ5ALA5YY9YJ
    签名:   AVLslxW5UGzEpaDPEK4Oril7Xo4IAYjdWHD​​25HhS8a8kqPYO4FjFhd6A

    -> 如下在“config/environments/development.rb”中设置这些API Credentials,添加下面的代码和API credentials

      config.after_initialize do  
    ActiveMerchant::Billing::Base.mode = :test         
            ::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(  
                 login: "merchant_api1.gotealeaf.com",  
                password: "2PWPEUKZXAYE7ZHR",  
                signature: "AFcWxV21C7fd0v3bYYYRCpSSRl31A-dRI5VpyF4A9emruhNYzlM8poc0"  
            )  
         end
    

    第四步:

    -> 从这里开始跟随 Rails 演员阵容 145 集

    PayPal Express Checkout 与 Rails 应用 ActiveMerchant gem 的集成:

    第 1 步:

    -> 在  gem 文件中添加“gem activemerchant”

    -> 捆绑安装

    第二步:

    -> 转到“www.developer.paypal.com”并使用美国地址详细信息创建一个帐户(也称为商家帐户)。

    -> 它将在“sandbox.paypal.com”中为买家和卖家(别名促进者)创建两个虚拟测试帐户。

      例如: 
    卖家账号  --->  naveengoud-facilitator@gmail.com
    买家账号  --->  naveengoud-buyer@gmail.com

          
    -> 查看测试账户详情点击“Dashboard -> Accounts”

    -> 现在通过点击个人资料链接为两个测试帐户设置密码

    第三步:

    -> 转到卖家账户(即促进者)个人资料详细信息并复制 API 凭据,即用户名、密码和签名

      例如:
    用户名:  naveengoud-facilitator_api1.gamil.com
    密码:   VSPALJ5ALA5YY9YJ
    签名:   AVLslxW5UGzEpaDPEK4Oril7Xo4IAYjdWHD​​25HhS8a8kqPYO4FjFhd6A

    -> 如下在“config/environments/development.rb”中设置这些API Credentials,添加下面的代码和API credentials

      config.after_initialize do  
    ActiveMerchant::Billing::Base.mode = :test         
            ::GATEWAY = ActiveMerchant::Billing::PaypalExpressGateway.new(  
                 login: "merchant_api1.gotealeaf.com",  
                password: "2PWPEUKZXAYE7ZHR",  
                signature: "AFcWxV21C7fd0v3bYYYRCpSSRl31A-dRI5VpyF4A9emruhNYzlM8poc0"  
            )  
         end
    

    第四步:

    -> 从这里开始跟随 Rails 演员阵容 146 集 少显示

    ->要查看交易是否成功,只需到'sandbox.paypal.com'  用卖家帐户登录并点击“所有活动”  然后我们可以看到付款

    【讨论】:

      【解决方案2】:

      我找到的解决方案是在我配置paypal SDK时将此代码放在返回URL的页面中

      payment = Payment.find(@payment.id)
      
      if payment.execute( :payer_id => params[:PayerId] )
        # Success Message
        # Note that you'll need to `Payment.find` the payment again to access user info like shipping address
      else
        payment.error # Error Hash
      end
      

      【讨论】:

        猜你喜欢
        • 2014-06-18
        • 2013-09-18
        • 2013-09-29
        • 2016-08-10
        • 2012-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-06
        相关资源
        最近更新 更多