PayPal集成Ruby on Rails

7
我看到有文章建议使用ActiveMerchant来集成PayPal,但我也在PayPal网站上找到了这个东西。由于我对RoR完全不熟悉,所以我正在努力将它们放在哪个文件中,我尝试集成PayPal,但不确定应该在哪里放置哪些代码。
我应该使用active merchant来集成PayPal,还是Rest-API是最好的选择?我希望人们填写他们的用户名,支付后成功时他们会收到数字内容。因此应该有一个带有结果和用户名的调用。
你是否有一个链接,逐步介绍,至少包括我应该将哪些代码放在哪个文件中,以便更好地了解RoR的基础知识。
4个回答

8

使用Rails app Active Merchant gem标准PayPal集成:

步骤1:

-> 在gem文件中添加'gem activemerchant'

-> 运行bundle install

步骤2:

-> 前往“www.developer.paypal.com”创建一个带有美国地址详细信息的账户(也称为商家账户)。

-> 它将在“sandbox.paypal.com”上为买家和卖家(别名facilitator)创建两个虚拟测试账户。

  例如:
     卖家账户  --->  naveengoud-facilitator@gmail.com
     买家账户  --->  naveengoud-buyer@gmail.com
      
-> 要查看测试账户详细信息,请单击“Dashboard -> Accounts”

-> 现在通过单击配置文件链接,为两个测试账户设置密码

步骤3:

-> 前往卖家账户(即facilitator)配置文件详细信息并复制API凭据,即用户名、密码和签名

  例如:
    用户名:  naveengoud-facilitator_api1.gamil.com
    密码:   VSPALJ5ALA5YY9YJ
    签名:   AVLslxW5UGzEpaDPEK4Oril7Xo4IAYjdWHD25HhS8a8kqPYO4FjFhd6A

-> 将这些API凭据设置在“config/environments/development.rb”中,添加以下代码与API凭据一起使用

  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 Cast 145集的步骤进行操作(http://railscasts.com/episodes/145-integrating-active-merchant)。


7
我发现PayPal API文档非常令人困惑。而且,API不能满足我的应用需求,因此我最终采用了一个相当简单的解决方案。
该解决方案主要包括两个组件:
1. PayPal按钮,我在PayPal网站上生成并将HTML复制到我的网站上。 2. PayPal IPN通知,我在我的网站上有一个简单的处理程序。
这就是整个解决方案的详细工作原理。
  1. 为了让用户进行支付,我使用PayPal按钮。你只需登录你的PayPal商业账户并生成按钮的HTML代码,然后将其复制粘贴到你的网站上。
  2. 用户可以点击这些按钮,他们会被重定向到PayPal网站,完成支付并有一个按钮返回你的网站。
  3. 当交易完成(无论成功还是失败),PayPal会通过PayPal IPN通知来通知你。我在我的网站上实现了IPN处理程序,这很容易做到。
  4. 在大多数情况下,当用户返回我的网站时,我已经收到了IPN通知,因此我可以向他们显示成功消息。
  5. 如果IPN延迟了,我会告诉用户需要几分钟更新他们的余额,并使用AJAX不断查询服务器以获取更新。

以下是一些有用的参考资料:

  1. PayPal按钮
  2. 关于PayPal IPN的Rail Casts视频
  3. 如果需要,您还可以通过Button Manager API gem动态生成按钮。

但是PayPal是否也会返回用户发送的用户名?这是数字商品,在成功付款后应直接处理。 - Diego

6

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接