Rails PayPal 支付对接

第一步、登陆 Paypal开发者官网,创建一个买家账号和一个卖家账号

 

'[email protected]' :是我们开发环境下的卖家账号
'[email protected]' : 用来测试的买家账号

第二步、跳转到PayPal支付页面

# 1、在 orders_controller.rb 中添加
# POST /orders/1/pay
def pay
  @order = Order.find(params[:id])
  redirect_to @order.paypal_url(order_path(@order))
end


# 2、在 order.rb 模型中添加
def paypal_url(return_path)
  values = {
      business: "[email protected]",
      cmd: "payment",
      upload: 1,
      return: "#{Rails.application.secrets.app_host}#{return_path}",
      invoice: self.id,
      amount: self.price,
      item_name: "payment",
      item_number: self.id,
      quantity: '1'
    }
  "#{Rails.application.secrets.paypal_host}/cgi-bin/webscr?" + values.to_query
end


# 3、在 routes.rb 中添加
resources :orders
  member do
    post 'pay'
  end
end


# 4、在 secrets.yml 中添加
development:
  paypal_host: https://www.sandbox.paypal.com
  app_host: http://our_project_url
production:
  paypal_host: https://www.paypal.com
  app_host: https://our_project_url

第三步、让我们开始测试吧!

当我们点击页面上的支付按钮时,会跳转到paypal支付的url

<%= link_to "Pay", pay_order_path(@order), method: :post %>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章